HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GA_GBPrimitiveListWMixT< T, SEC_T > Class Template Reference

#include <GA_GBPrimitiveList.h>

+ Inheritance diagram for GA_GBPrimitiveListWMixT< T, SEC_T >:

Public Member Functions

 GA_GBPrimitiveListWMixT (const GA_IndexMap &index_map)
 
int headMix (const GA_ElementGroup &group, const T *&elem, const SEC_T *&sec) const
 
int headMix (const GA_ElementGroup &group, T *&elem, SEC_T *&sec)
 
int tailMix (const GA_ElementGroup &group, const T *&elem, const SEC_T *&sec) const
 
int tailMix (const GA_ElementGroup &group, T *&elem, SEC_T *&sec)
 
int headMix (const GA_ElementGroup &group, const T *&elem, const SEC_T *&sec, GA_GBPrimitiveList::GroupIterationCache &c) const
 
int headMix (const GA_ElementGroup &group, T *&elem, SEC_T *&sec, GA_GBPrimitiveList::GroupIterationCache &c)
 
int tailMix (const GA_ElementGroup &group, const T *&elem, const SEC_T *&sec, GA_GBPrimitiveList::GroupIterationCache &c) const
 
int tailMix (const GA_ElementGroup &group, T *&elem, SEC_T *&sec, GA_GBPrimitiveList::GroupIterationCache &c)
 
int nextMix (const GA_ElementGroup &group, const T *&elem, const SEC_T *&sec, const T *&newelem, const SEC_T *&newsec) const
 
int nextMix (const GA_ElementGroup &group, T *&elem, SEC_T *&sec, T *&newelem, SEC_T *&newsec)
 
int prevMix (const GA_ElementGroup &group, const T *&elem, const SEC_T *&sec, const T *&newelem, const SEC_T *&newsec) const
 
int prevMix (const GA_ElementGroup &group, T *&elem, SEC_T *&sec, T *&newelem, SEC_T *&newsec)
 
int nextMix (const GA_ElementGroup &group, const T *&elem, const SEC_T *&sec, const T *&newelem, const SEC_T *&newsec, GA_GBPrimitiveList::GroupIterationCache &c) const
 
int nextMix (const GA_ElementGroup &group, T *&elem, SEC_T *&sec, T *&newelem, SEC_T *&newsec, GA_GBPrimitiveList::GroupIterationCache &c)
 
int prevMix (const GA_ElementGroup &group, const T *&elem, const SEC_T *&sec, const T *&newelem, const SEC_T *&newsec, GA_GBPrimitiveList::GroupIterationCache &c) const
 
int prevMix (const GA_ElementGroup &group, T *&elem, SEC_T *&sec, T *&newelem, SEC_T *&newsec, GA_GBPrimitiveList::GroupIterationCache &c)
 
- Public Member Functions inherited from GA_GBPrimitiveListT< T >
 GA_GBPrimitiveListT (const GA_IndexMap &index_map)
 
const Tentry (GA_Size n) const
 
Tentry (GA_Size n)
 
const Thead () const
 
Thead ()
 
const Ttail () const
 
Ttail ()
 
const Thead (const GA_ElementGroup &group) const
 
Thead (const GA_ElementGroup &group)
 
const Ttail (const GA_ElementGroup &group) const
 
Ttail (const GA_ElementGroup &group)
 
const Thead (const GA_ElementGroup &group, GroupIterationCache &cache) const
 
Thead (const GA_ElementGroup &group, GroupIterationCache &cache)
 
const Ttail (const GA_ElementGroup &group, GroupIterationCache &cache) const
 
Ttail (const GA_ElementGroup &group, GroupIterationCache &cache)
 
const Tnext (const GA_Primitive *i) const
 
Tnext (GA_Primitive *i)
 
const Tnext (const GA_Primitive *i, const GA_ElementGroup &g) const
 
Tnext (GA_Primitive *i, const GA_ElementGroup &g)
 
const Tnext (const GA_Primitive *i, const GA_ElementGroup &g, GroupIterationCache &cache) const
 
Tnext (GA_Primitive *i, const GA_ElementGroup &g, GroupIterationCache &cache)
 
const Tprev (const GA_Primitive *i) const
 
Tprev (GA_Primitive *i)
 
const Tprev (const GA_Primitive *i, const GA_ElementGroup &g) const
 
Tprev (GA_Primitive *i, const GA_ElementGroup &g)
 
const Tprev (const GA_Primitive *i, const GA_ElementGroup &g, GroupIterationCache &cache) const
 
Tprev (GA_Primitive *i, const GA_ElementGroup &g, GroupIterationCache &cache)
 
const Toperator() (GA_Size i) const
 
Toperator() (GA_Size i)
 
const Toperator[] (GA_Size i) const
 
Toperator[] (GA_Size i)
 
- Public Member Functions inherited from GA_GBPrimitiveList
 GA_GBPrimitiveList (const GA_IndexMap &index_map)
 
 ~GA_GBPrimitiveList ()
 
GA_Size entries () const
 
void clearAndDestroy ()
 
const GA_PrimitiverawEntry (GA_Size n) const
 
GA_PrimitiverawEntry (GA_Size n)
 
const GA_PrimitiverawHead () const
 
const GA_PrimitiverawTail () const
 
GA_PrimitiverawHead ()
 
GA_PrimitiverawTail ()
 
const GA_PrimitiverawHead (const GA_ElementGroup &g) const
 
const GA_PrimitiverawTail (const GA_ElementGroup &g) const
 
GA_PrimitiverawHead (const GA_ElementGroup &g)
 
GA_PrimitiverawTail (const GA_ElementGroup &g)
 
const GA_PrimitiverawNext (const GA_Primitive *i) const
 
const GA_PrimitiverawNext (const GA_Primitive *i, const GA_ElementGroup &g) const
 
GA_PrimitiverawNext (GA_Primitive *i)
 
GA_PrimitiverawNext (GA_Primitive *i, const GA_ElementGroup &g)
 
const GA_PrimitiverawPrev (const GA_Primitive *i) const
 
const GA_PrimitiverawPrev (const GA_Primitive *i, const GA_ElementGroup &g) const
 
GA_PrimitiverawPrev (GA_Primitive *i)
 
GA_PrimitiverawPrev (GA_Primitive *i, const GA_ElementGroup &g)
 
int rawHeadMix (const GA_ElementGroup &group, const GA_Primitive *&elem, const GA_Primitive *&sec) const
 
int rawTailMix (const GA_ElementGroup &group, const GA_Primitive *&elem, const GA_Primitive *&sec) const
 
int rawNextMix (const GA_ElementGroup &group, const GA_Primitive *&elem, const GA_Primitive *&sec, const GA_Primitive *&newelem, const GA_Primitive *&newsec) const
 
int rawPrevMix (const GA_ElementGroup &group, const GA_Primitive *&elem, const GA_Primitive *&sec, const GA_Primitive *&newelem, const GA_Primitive *&newsec) const
 
int rawHeadMix (const GA_ElementGroup &group, GA_Primitive *&elem, GA_Primitive *&sec)
 
int rawTailMix (const GA_ElementGroup &group, GA_Primitive *&elem, GA_Primitive *&sec)
 
int rawNextMix (const GA_ElementGroup &group, GA_Primitive *&elem, GA_Primitive *&sec, GA_Primitive *&newelem, GA_Primitive *&newsec)
 
int rawPrevMix (const GA_ElementGroup &group, GA_Primitive *&elem, GA_Primitive *&sec, GA_Primitive *&newelem, GA_Primitive *&newsec)
 
const GA_PrimitiverawHead (const GA_ElementGroup &g, GroupIterationCache &cache) const
 
const GA_PrimitiverawTail (const GA_ElementGroup &g, GroupIterationCache &cache) const
 
GA_PrimitiverawHead (const GA_ElementGroup &g, GroupIterationCache &cache)
 
GA_PrimitiverawTail (const GA_ElementGroup &g, GroupIterationCache &cache)
 
const GA_PrimitiverawNext (const GA_Primitive *i, const GA_ElementGroup &g, GroupIterationCache &cache) const
 
GA_PrimitiverawNext (GA_Primitive *i, const GA_ElementGroup &g, GroupIterationCache &cache)
 
const GA_PrimitiverawPrev (const GA_Primitive *i, const GA_ElementGroup &g, GroupIterationCache &cache) const
 
GA_PrimitiverawPrev (GA_Primitive *i, const GA_ElementGroup &g, GroupIterationCache &cache)
 
int rawHeadMix (const GA_ElementGroup &group, const GA_Primitive *&elem, const GA_Primitive *&sec, GroupIterationCache &cache) const
 
int rawTailMix (const GA_ElementGroup &group, const GA_Primitive *&elem, const GA_Primitive *&seci, GroupIterationCache &cache) const
 
int rawNextMix (const GA_ElementGroup &group, const GA_Primitive *&elem, const GA_Primitive *&sec, const GA_Primitive *&newelem, const GA_Primitive *&newsec, GroupIterationCache &cache) const
 
int rawPrevMix (const GA_ElementGroup &group, const GA_Primitive *&elem, const GA_Primitive *&sec, const GA_Primitive *&newelem, const GA_Primitive *&newsec, GroupIterationCache &cache) const
 
int rawHeadMix (const GA_ElementGroup &group, GA_Primitive *&elem, GA_Primitive *&sec, GroupIterationCache &cache)
 
int rawTailMix (const GA_ElementGroup &group, GA_Primitive *&elem, GA_Primitive *&sec, GroupIterationCache &cache)
 
int rawNextMix (const GA_ElementGroup &group, GA_Primitive *&elem, GA_Primitive *&sec, GA_Primitive *&newelem, GA_Primitive *&newsec, GroupIterationCache &cache)
 
int rawPrevMix (const GA_ElementGroup &group, GA_Primitive *&elem, GA_Primitive *&sec, GA_Primitive *&newelem, GA_Primitive *&newsec, GroupIterationCache &cache)
 

Detailed Description

template<typename T, typename SEC_T>
class GA_GBPrimitiveListWMixT< T, SEC_T >

Both T and SEC_T must be sub-classes of GA_Primitive. Moreover, given the use of reinterpret_cast, both classes must have the GA_Primitive portion laid out in memory with no offset. That is, casting either T * or SEC_T * to a GA_Primitive * should not offset the memory address.

Definition at line 364 of file GA_GBPrimitiveList.h.

Constructor & Destructor Documentation

template<typename T, typename SEC_T>
GA_GBPrimitiveListWMixT< T, SEC_T >::GA_GBPrimitiveListWMixT ( const GA_IndexMap index_map)
inlineexplicit

Definition at line 368 of file GA_GBPrimitiveList.h.

Member Function Documentation

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::headMix ( const GA_ElementGroup group,
const T *&  elem,
const SEC_T *&  sec 
) const
inline

Definition at line 375 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::headMix ( const GA_ElementGroup group,
T *&  elem,
SEC_T *&  sec 
)
inline

Definition at line 379 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::headMix ( const GA_ElementGroup group,
const T *&  elem,
const SEC_T *&  sec,
GA_GBPrimitiveList::GroupIterationCache c 
) const
inline

Definition at line 389 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::headMix ( const GA_ElementGroup group,
T *&  elem,
SEC_T *&  sec,
GA_GBPrimitiveList::GroupIterationCache c 
)
inline

Definition at line 394 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::nextMix ( const GA_ElementGroup group,
const T *&  elem,
const SEC_T *&  sec,
const T *&  newelem,
const SEC_T *&  newsec 
) const
inline

The group overloads of nextMix()/prevMix() have O(n^2) behavior with ordered groups. Use the GroupIterationCache overloads to avoid this.

Definition at line 409 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::nextMix ( const GA_ElementGroup group,
T *&  elem,
SEC_T *&  sec,
T *&  newelem,
SEC_T *&  newsec 
)
inline

Definition at line 415 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::nextMix ( const GA_ElementGroup group,
const T *&  elem,
const SEC_T *&  sec,
const T *&  newelem,
const SEC_T *&  newsec,
GA_GBPrimitiveList::GroupIterationCache c 
) const
inline

Definition at line 431 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::nextMix ( const GA_ElementGroup group,
T *&  elem,
SEC_T *&  sec,
T *&  newelem,
SEC_T *&  newsec,
GA_GBPrimitiveList::GroupIterationCache c 
)
inline

Definition at line 438 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::prevMix ( const GA_ElementGroup group,
const T *&  elem,
const SEC_T *&  sec,
const T *&  newelem,
const SEC_T *&  newsec 
) const
inline

Definition at line 420 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::prevMix ( const GA_ElementGroup group,
T *&  elem,
SEC_T *&  sec,
T *&  newelem,
SEC_T *&  newsec 
)
inline

Definition at line 426 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::prevMix ( const GA_ElementGroup group,
const T *&  elem,
const SEC_T *&  sec,
const T *&  newelem,
const SEC_T *&  newsec,
GA_GBPrimitiveList::GroupIterationCache c 
) const
inline

Definition at line 444 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::prevMix ( const GA_ElementGroup group,
T *&  elem,
SEC_T *&  sec,
T *&  newelem,
SEC_T *&  newsec,
GA_GBPrimitiveList::GroupIterationCache c 
)
inline

Definition at line 451 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::tailMix ( const GA_ElementGroup group,
const T *&  elem,
const SEC_T *&  sec 
) const
inline

Definition at line 382 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::tailMix ( const GA_ElementGroup group,
T *&  elem,
SEC_T *&  sec 
)
inline

Definition at line 386 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::tailMix ( const GA_ElementGroup group,
const T *&  elem,
const SEC_T *&  sec,
GA_GBPrimitiveList::GroupIterationCache c 
) const
inline

Definition at line 398 of file GA_GBPrimitiveList.h.

template<typename T, typename SEC_T>
int GA_GBPrimitiveListWMixT< T, SEC_T >::tailMix ( const GA_ElementGroup group,
T *&  elem,
SEC_T *&  sec,
GA_GBPrimitiveList::GroupIterationCache c 
)
inline

Definition at line 403 of file GA_GBPrimitiveList.h.


The documentation for this class was generated from the following file: