ADTF
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ChildElements< ElementAccessType >

Iteratable container type for the given Element type in ElementAccessType::element_type. More...

#include <codec_iterator.h>

Public Types

using access_type = typename ElementAccessType::access_type
 The supported access type (from ElementAccessType::access_type)
 
using element_type = typename ElementAccessType::element_type
 The supported element type (from ElementAccessType::element_type)
 
using const_iterator = ElementIteratorConst<ElementAccessType>
 const iterator type
 
using iterator = ElementIterator<ElementAccessType>
 iterator type
 

Public Member Functions

 ChildElements (ChildElements &&)=default
 move CTOR
 
ChildElementsoperator= (ChildElements &&)=default
 move operator
 
 ChildElements (const ChildElements &)=delete
 no copy CTOR
 
ChildElementsoperator= (const ChildElements &)=delete
 no copy operator
 
 ~ChildElements ()=default
 DTOR.
 
const_iterator cbegin () const
 cbegin
 
const_iterator begin () const
 begin
 
const_iterator cend () const
 cend
 
const_iterator end () const
 end
 
iterator begin ()
 begin
 
iterator end ()
 end
 
size_t size () const
 Size of the container (child count)
 

Public Attributes

friend element_type
 friend declaration for element type
 
friend access_type
 friend declaration for access type
 
friend FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >
 friend declaration for factory element
 
friend DecoderElement< ElementAccessType, ChildElements< ElementAccessType > >
 friend declaration for decoder element
 
friend CodecElement< ElementAccessType, ChildElements< ElementAccessType > >
 friend declaration for codec element
 

Private Member Functions

 ChildElements (const CodecIndex &base_index, access_type &access)
 
 ChildElements (const CodecIndex &base_index, size_t child_element_count, access_type &access)
 
void resetChildCount (size_t child_element_count)
 
void resetChildCount ()
 

Private Attributes

const CodecIndex_codec_base_index
 
size_t _child_element_count
 
access_type_access
 

Detailed Description

template<typename ElementAccessType>
class ddl::codec::ChildElements< ElementAccessType >

Iteratable container type for the given Element type in ElementAccessType::element_type.

Template Parameters
ElementAccessTypeThe element access concept type. (see concept templates FactoryElementAccess, DecoderElementAccess, CodecElementAccess)

Definition at line 257 of file codec_iterator.h.

Member Typedef Documentation

◆ access_type

template<typename ElementAccessType>
using access_type = typename ElementAccessType::access_type

The supported access type (from ElementAccessType::access_type)

Definition at line 260 of file codec_iterator.h.

◆ const_iterator

template<typename ElementAccessType>
using const_iterator = ElementIteratorConst<ElementAccessType>

const iterator type

Definition at line 263 of file codec_iterator.h.

◆ element_type

template<typename ElementAccessType>
using element_type = typename ElementAccessType::element_type

The supported element type (from ElementAccessType::element_type)

Definition at line 262 of file codec_iterator.h.

◆ iterator

template<typename ElementAccessType>
using iterator = ElementIterator<ElementAccessType>

iterator type

Definition at line 264 of file codec_iterator.h.

Constructor & Destructor Documentation

◆ ChildElements() [1/2]

template<typename ElementAccessType>
ChildElements ( const CodecIndex & base_index,
access_type & access )
inlineprivate

Definition at line 404 of file codec_iterator.h.

◆ ChildElements() [2/2]

template<typename ElementAccessType>
ChildElements ( const CodecIndex & base_index,
size_t child_element_count,
access_type & access )
inlineprivate

Definition at line 411 of file codec_iterator.h.

Member Function Documentation

◆ begin() [1/2]

template<typename ElementAccessType>
iterator begin ( )
inline

begin

Returns
iterator

Definition at line 365 of file codec_iterator.h.

◆ begin() [2/2]

template<typename ElementAccessType>
const_iterator begin ( ) const
inline

begin

Returns
const_iterator

Definition at line 332 of file codec_iterator.h.

◆ cbegin()

template<typename ElementAccessType>
const_iterator cbegin ( ) const
inline

◆ cend()

template<typename ElementAccessType>
const_iterator cend ( ) const
inline

◆ end() [1/2]

template<typename ElementAccessType>
iterator end ( )
inline

end

Returns
iterator

Definition at line 382 of file codec_iterator.h.

◆ end() [2/2]

template<typename ElementAccessType>
const_iterator end ( ) const
inline

end

Returns
const_iterator

Definition at line 357 of file codec_iterator.h.

◆ operator=() [1/2]

template<typename ElementAccessType>
ChildElements & operator= ( ChildElements< ElementAccessType > && )
default

move operator

Returns
ChildElements&

◆ operator=() [2/2]

template<typename ElementAccessType>
ChildElements & operator= ( const ChildElements< ElementAccessType > & )
delete

no copy operator

Returns
ChildElements&

◆ resetChildCount() [1/2]

template<typename ElementAccessType>
void resetChildCount ( )
inlineprivate

Definition at line 419 of file codec_iterator.h.

◆ resetChildCount() [2/2]

template<typename ElementAccessType>
void resetChildCount ( size_t child_element_count)
inlineprivate

Definition at line 415 of file codec_iterator.h.

◆ size()

template<typename ElementAccessType>
size_t size ( ) const
inline

Size of the container (child count)

Returns
size_t

Definition at line 398 of file codec_iterator.h.

Member Data Documentation

◆ _access

template<typename ElementAccessType>
access_type& _access
private

Definition at line 426 of file codec_iterator.h.

◆ _child_element_count

template<typename ElementAccessType>
size_t _child_element_count
private

Definition at line 425 of file codec_iterator.h.

◆ _codec_base_index

template<typename ElementAccessType>
const CodecIndex& _codec_base_index
private

Definition at line 424 of file codec_iterator.h.

◆ access_type

template<typename ElementAccessType>
friend access_type

friend declaration for access type

Definition at line 273 of file codec_iterator.h.

◆ CodecElement< ElementAccessType, ChildElements< ElementAccessType > >

template<typename ElementAccessType>
friend CodecElement< ElementAccessType, ChildElements< ElementAccessType > >

friend declaration for codec element

Definition at line 285 of file codec_iterator.h.

◆ DecoderElement< ElementAccessType, ChildElements< ElementAccessType > >

template<typename ElementAccessType>
friend DecoderElement< ElementAccessType, ChildElements< ElementAccessType > >

friend declaration for decoder element

Definition at line 281 of file codec_iterator.h.

◆ element_type

template<typename ElementAccessType>
friend element_type

friend declaration for element type

Definition at line 269 of file codec_iterator.h.

◆ FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >

template<typename ElementAccessType>
friend FactoryElement< ElementAccessType, ChildElements< ElementAccessType > >

friend declaration for factory element

Definition at line 277 of file codec_iterator.h.