Horizon Official Technical Documentation
GridTypeListIterator Namespace Reference

Functions

template<class SPECIFIC_TYPE >
SPECIFIC_TYPE * Insert (GridTypeListContainer< SPECIFIC_TYPE > &elements, SPECIFIC_TYPE *obj)
 
template<class SPECIFIC_TYPE >
SPECIFIC_TYPE * Insert (GridTypeListContainer< TypeNull > &, SPECIFIC_TYPE *)
 
template<class SPECIFIC_TYPE , class T >
SPECIFIC_TYPE * Insert (GridTypeListContainer< T > &, SPECIFIC_TYPE *)
 
template<class SPECIFIC_TYPE , class HEAD , class TAIL >
SPECIFIC_TYPE * Insert (GridTypeListContainer< TypeList< HEAD, TAIL > > &elements, SPECIFIC_TYPE *obj)
 
template<class SPECIFIC_TYPE >
size_t count (GridTypeListContainer< SPECIFIC_TYPE > const &elements, SPECIFIC_TYPE *)
 
template<class SPECIFIC_TYPE >
size_t count (GridTypeListContainer< TypeNull > const &, SPECIFIC_TYPE *)
 
template<class SPECIFIC_TYPE , class T >
size_t count (GridTypeListContainer< T > const &, SPECIFIC_TYPE *)
 
template<class SPECIFIC_TYPE , class T >
size_t count (GridTypeListContainer< TypeList< SPECIFIC_TYPE, T > > const &elements, SPECIFIC_TYPE *fake)
 
template<class SPECIFIC_TYPE , class H , class T >
size_t count (GridTypeListContainer< TypeList< H, T > > const &elements, SPECIFIC_TYPE *fake)
 
template<class TypeNull >
size_t count_all (GridTypeListContainer< TypeNull > const &elements)
 
template<class H , class T >
size_t count_all (GridTypeListContainer< TypeList< H, T > > const &elements)
 

Function Documentation

◆ count() [1/5]

◆ count() [2/5]

template<class SPECIFIC_TYPE , class T >
size_t GridTypeListIterator::count ( GridTypeListContainer< T > const &  ,
SPECIFIC_TYPE *   
)
113 {
114 return 0;
115 }

◆ count() [3/5]

template<class SPECIFIC_TYPE , class H , class T >
size_t GridTypeListIterator::count ( GridTypeListContainer< TypeList< H, T > > const &  elements,
SPECIFIC_TYPE *  fake 
)
127 {
128 return count(elements._tail_elements, fake);
129 }
size_t count(GridTypeListContainer< TypeList< H, T > > const &elements, SPECIFIC_TYPE *fake)
Definition: GridReferenceContainer.hpp:126

References count().

+ Here is the call graph for this function:

◆ count() [4/5]

template<class SPECIFIC_TYPE , class T >
size_t GridTypeListIterator::count ( GridTypeListContainer< TypeList< SPECIFIC_TYPE, T > > const &  elements,
SPECIFIC_TYPE *  fake 
)
119 {
120 return count(elements._elements, fake);
121 }

References count().

+ Here is the call graph for this function:

◆ count() [5/5]

template<class SPECIFIC_TYPE >
size_t GridTypeListIterator::count ( GridTypeListContainer< TypeNull > const &  ,
SPECIFIC_TYPE *   
)
107 {
108 return 0;
109 }

◆ count_all() [1/2]

template<class H , class T >
size_t GridTypeListIterator::count_all ( GridTypeListContainer< TypeList< H, T > > const &  elements)
140 {
141 return count(elements._elements, (H *) nullptr) + count_all(elements._tail_elements);
142 }
size_t count_all(GridTypeListContainer< TypeList< H, T > > const &elements)
Definition: GridReferenceContainer.hpp:139

References count(), and count_all().

+ Here is the call graph for this function:

◆ count_all() [2/2]

template<class TypeNull >
size_t GridTypeListIterator::count_all ( GridTypeListContainer< TypeNull > const &  elements)
133 {
134 return 0;
135 }

Referenced by GridReferenceContainer< OBJECT_TYPES >::count_all(), and count_all().

+ Here is the caller graph for this function:

◆ Insert() [1/4]

template<class SPECIFIC_TYPE >
SPECIFIC_TYPE * GridTypeListIterator::Insert ( GridTypeListContainer< SPECIFIC_TYPE > &  elements,
SPECIFIC_TYPE *  obj 
)
66 {
67 obj->add_grid_reference(elements._element);
68 return obj;
69 }

References GridTypeListContainer< OBJECT >::_element.

Referenced by Insert(), and GridReferenceContainer< OBJECT_TYPES >::insert().

+ Here is the caller graph for this function:

◆ Insert() [2/4]

template<class SPECIFIC_TYPE , class T >
SPECIFIC_TYPE * GridTypeListIterator::Insert ( GridTypeListContainer< T > &  ,
SPECIFIC_TYPE *   
)
80 {
81 return nullptr;
82 }

◆ Insert() [3/4]

template<class SPECIFIC_TYPE , class HEAD , class TAIL >
SPECIFIC_TYPE * GridTypeListIterator::Insert ( GridTypeListContainer< TypeList< HEAD, TAIL > > &  elements,
SPECIFIC_TYPE *  obj 
)
90 {
91 SPECIFIC_TYPE *t = Insert(elements._elements, obj);
92 return (t != nullptr ? t : Insert(elements._tail_elements, obj));
93 }
SPECIFIC_TYPE * Insert(GridTypeListContainer< TypeList< HEAD, TAIL > > &elements, SPECIFIC_TYPE *obj)
Definition: GridReferenceContainer.hpp:89
GridTypeListContainer< HEAD > _elements
Definition: GridReferenceContainer.hpp:53
GridTypeListContainer< TAIL > _tail_elements
Definition: GridReferenceContainer.hpp:54

References Insert().

+ Here is the call graph for this function:

◆ Insert() [4/4]

template<class SPECIFIC_TYPE >
SPECIFIC_TYPE * GridTypeListIterator::Insert ( GridTypeListContainer< TypeNull > &  ,
SPECIFIC_TYPE *   
)
73 {
74 return nullptr;
75 }