1#ifndef CONTAINERADAPTER_H
2#define CONTAINERADAPTER_H
8 template <
typename TYPE,
template <
typename>
typename SERIAL>
14 explicit containerAdapter(
const SERIAL<TYPE>&
serial);
16 [[nodiscard]] uint32_t size()
const override;
18 bool contains(
const TYPE &e)
const override;
19 [[nodiscard]] std::string className()
const override;
20 [[nodiscard]] std::string toString(
bool enter)
const override;
21 ~containerAdapter()
override =
default;
25 template<
typename TYPE,
template <
typename>
typename SERIAL>
27 original::containerAdapter<TYPE, SERIAL>::containerAdapter(
const SERIAL<TYPE>& serial)
30 template<
typename TYPE,
template <
typename>
typename SERIAL>
31 requires original::ExtendsOf<original::baseList<TYPE>, SERIAL<TYPE>>
32 auto original::containerAdapter<TYPE, SERIAL>::size() const -> uint32_t {
33 return serial_.size();
36 template<
typename TYPE,
template <
typename>
typename SERIAL>
37 requires original::ExtendsOf<original::baseList<TYPE>, SERIAL<TYPE>>
38 auto original::containerAdapter<TYPE, SERIAL>::clear() ->
void {
42 template<
typename TYPE,
template <
typename>
class SERIAL>
43 requires original::ExtendsOf<original::baseList<TYPE>, SERIAL<TYPE>>
44 auto original::containerAdapter<TYPE, SERIAL>::contains(
const TYPE &e)
const ->
bool {
45 return serial_.contains(e);
48 template<
typename TYPE,
template <
typename>
typename SERIAL>
49 requires original::ExtendsOf<original::baseList<TYPE>, SERIAL<TYPE>>
50 auto original::containerAdapter<TYPE, SERIAL>::className() const -> std::
string {
51 return "containerAdapter";
54 template<
typename TYPE,
template <
typename>
typename SERIAL>
55 requires original::ExtendsOf<original::baseList<TYPE>, SERIAL<TYPE>>
56 auto original::containerAdapter<TYPE, SERIAL>::toString(
const bool enter)
const -> std::string {
58 ss << this->className() <<
"(";
60 for (
const auto e : this->serial_)
62 if (!first) ss <<
", ";
63 ss << printable::formatString(e);
67 if (enter) ss <<
"\n";
Definition container.h:10