69 template<
typename GTYPE>
class flat_group
81 typedef typename container_type::iterator
iterator;
107 _container.push_back(c);
130 "Cannot create an flat group from an invalid object!");
145 return _container[index];
160 return _container[index];
174 return _container.size();
187 return _container.begin();
200 return _container.end();
211 const_iterator
begin() const noexcept
213 return _container.begin();
224 const_iterator
end() const noexcept
226 return _container.end();
248 template<nximp_code>
class GTYPE,
container_type::const_iterator const_iterator
the constant interator type
Definition: flat_group.hpp:83
container_type::iterator iterator
the iterator type
Definition: flat_group.hpp:81
flat_group(const group_type &parent)
constructor
Definition: flat_group.hpp:125
value_type & operator[](size_t index) noexcept
get element reference
Definition: flat_group.hpp:158
nexus object traits
Definition: nxobject_traits.hpp:44
unexpected invalid object
Definition: exceptions.hpp:130
const_iterator begin() const noexcept
get iterator to first
Definition: flat_group.hpp:211
nxobject_trait< nximp_code_map< group_type >::icode >::object_type value_type
nxobject is the value type of the flat_group container
Definition: flat_group.hpp:77
iterator end() noexcept
get iterator to last+1
Definition: flat_group.hpp:198
Definition: cbf_reader.hpp:41
void append_children(const group_type &parent)
append children to container
Definition: flat_group.hpp:101
value_type operator[](size_t index) const noexcept
get element
Definition: flat_group.hpp:143
bool is_valid(const OTYPE &o) noexcept
visitor checking object validity
Definition: is_valid.hpp:53
const_iterator end() const noexcept
get iterator to last+1
Definition: flat_group.hpp:224
iterator begin() noexcept
get iterator to first
Definition: flat_group.hpp:185
flat group adapter
Definition: flat_group.hpp:71
nximp_code
implementation codes
Definition: nximp_code.hpp:40
std::vector< value_type > container_type
the internal container type
Definition: flat_group.hpp:79
GTYPE group_type
the group type
Definition: flat_group.hpp:75
size_t size() const noexcept
get size
Definition: flat_group.hpp:172
GTYPE as_group(const nxobject< GTYPE, FTYPE, ATYPE, LTYPE > &o)
as group wrapper
Definition: as_group.hpp:167
boost::variant< GTYPE, FTYPE, ATYPE, LTYPE > nxobject
Definition: nxobject.hpp:44
container_type _container
internal container holding the objects
Definition: flat_group.hpp:86
flat_group< GTYPE< IMPID > > make_flat(const GTYPE< IMPID > &group)
create a flat group
Definition: flat_group.hpp:251
bool is_group(const nxobject< GTYPE, FTYPE, ATYPE, LTYPE > &o) noexcept
test for group
Definition: is_group.hpp:136