|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef NAVIGATION_NAVIGATIONDEFAULTS_H
6 #define NAVIGATION_NAVIGATIONDEFAULTS_H
11 #include "AthLinks/ElementLink.h"
67 template <
typename CONT,
typename RPAR>
72 typedef typename std::pair< ElementLink<CONT>, RPAR >
value_type;
73 typedef typename std::vector< value_type >
type;
85 if ((*thisIter).first.isValid() )
86 thePointer = *((*thisIter).first);
92 {
return (*thisIter).second; }
98 return &((*thisIter).first);
104 return ((*thisIter).first).getStorableObjectRef();
116 return ((*thisIter).first).getStorableObjectPointer();
123 return found != cont.end()
133 theIndex = ((*thisIter).first).
index();
135 return cont ? theIndex < cont->size() :
false;
144 if (
found != cont.end() )
155 const CONT* aChildContainer,
157 const RPAR& aPar=RPAR(),
160 if (sizeHint && cont.capacity() < sizeHint)
161 cont.reserve(sizeHint);
170 const RPAR& aPar=RPAR(),
173 if (sizeHint && cont.capacity() < sizeHint)
174 cont.reserve(sizeHint);
175 cont.emplace_back (*aChildContainer,anIndex, aPar);
182 const RPAR& aPar=RPAR(),
185 if (sizeHint && cont.capacity() < sizeHint)
186 cont.reserve(sizeHint);
187 cont.emplace_back (*aChildContainer,anIndex, sg, aPar);
193 const RPAR& aPar=RPAR(),
196 if (sizeHint && cont.capacity() < sizeHint)
197 cont.reserve(sizeHint);
204 const RPAR& aPar=RPAR())
207 if ( iObj != cont.end() ) (*iObj).second = aPar;
212 const CONT* pContainer,
214 const RPAR& aPar=RPAR())
216 changeParm(cont,(pContainer->operator[])(refIndex),aPar);
234 while (iEntry != lastEntry && aChild != *((*iEntry).first)) ++iEntry;
244 while (iEntry != lastEntry && aChild != *((*iEntry).first)) ++iEntry;
271 if (
found != cont.end() )
290 if (
found != cont.end() )
307 for ( ; firstEntry != lastEntry ; ++firstEntry ) {
309 ((*firstEntry).first).setStorableObject(theNewContainer,
true);
318 return find(cont,aChild) != cont.end();
327 template <
typename CONT>
333 typedef typename std::vector< value_type >
type;
347 if ((*iter).isValid())
366 return (*thisIter).getStorableObjectRef();
378 return (*thisIter).getStorableObjectPointer();
385 return found != cont.end()
395 theIndex = (*thisIter).index();
397 return cont ? theIndex < cont->size() :
false;
406 if (
found != cont.end() )
419 if (sizeHint && cont.capacity() < sizeHint)
420 cont.reserve(sizeHint);
432 if (sizeHint && cont.capacity() < sizeHint)
433 cont.reserve(sizeHint);
442 if (sizeHint && cont.capacity() < sizeHint)
443 cont.reserve(sizeHint);
444 cont.push_back(*aLink);
471 for ( ; firstEntry != lastEntry; ++firstEntry )
473 if ( *(*firstEntry) == aChild )
break;
483 for ( ; firstEntry != lastEntry; ++firstEntry )
485 if ( *(*firstEntry) == aChild )
break;
508 if (
found != cont.end() )
525 if (
found != cont.end() )
528 cont.erase(anElement);
542 for ( ; firstEntry != lastEntry ; ++firstEntry ) {
544 (*firstEntry).setStorableObject(theNewContainer,
true);
553 return find(cont,aChild) != cont.end();
JetConstituentVector::iterator iterator
static bool getContIndex(const type &cont, const_child_ptr aChild, external_index_type &theIndex)
static type_iterator find(type &cont, const_child_ptr aChild)
static void changeParm(type &cont, const_child_ptr pChild, const RPAR &aPar=RPAR())
static const CONT * getContPtr(const type &cont, const_child_ptr aChild)
static void insert(type &cont, const CONT *aChildContainer, const external_index_type &anIndex, IProxyDict *sg, const RPAR &aPar=RPAR(), size_t sizeHint=0)
SG::GenerateIndexingPolicy< CONT >::type::index_type external_index_type
static void insert(type &cont, const CONT *aChildContainer, const_child_ptr aChild, const RPAR &aPar=RPAR(), size_t sizeHint=0)
const CONT::base_value_type * const_child_ptr
static void changeParm(type &cont, const CONT *pContainer, const external_index_type &refIndex, const RPAR &aPar=RPAR())
type::const_iterator type_const_iterator
static void changeParm(type &, const CONT *, const external_index_type &, const DefaultWeight &)
type::const_iterator type_const_iterator
std::vector< value_type > type
static const CONT & getContRef(const type &cont, const_child_ptr aChild)
CONT::base_value_type * child_ptr
const CONT::base_value_type * const_child_ptr
static bool getContIndex(type_const_iterator thisIter, external_index_type &theIndex)
static bool contains(const type &cont, const_child_ptr aChild)
static type_const_iterator find(const type &cont, const_child_ptr aChild)
static bool replace(type &cont, const CONT &theNewContainer)
static const CONT * getContPtr(type_const_iterator thisIter)
bool operator==(DefaultWeight &) const
const DefaultWeight & operator+(const DefaultWeight &) const
const DefaultWeight & operator*(const DefaultWeight &) const
static const CONT * getContPtr(type_const_iterator thisIter)
static RPAR getChildPar(type_const_iterator thisIter)
static const CONT * getContPtr(const type &cont, const_child_ptr aChild)
static bool remove(type &cont, const ElementLink< CONT > *anElement)
CONT::base_value_type * child_ptr
static const CONT & getContRef(type_const_iterator thisIter)
static const ElementLink< CONT > * getElementPtr(type_const_iterator thisIter)
type::iterator type_iterator
static void insert(type &cont, const CONT *aChildContainer, const_child_ptr aChild, const DefaultWeight &, size_t sizeHint=0)
type::iterator type_iterator
static bool remove(type &cont, const_child_ptr aChild)
static void insert(type &cont, const CONT *aChildContainer, const external_index_type &anIndex, const DefaultWeight &, size_t sizeHint=0)
static bool getContIndex(type_const_iterator thisIter, external_index_type &theIndex)
static DefaultWeight getChildPar(type_const_iterator)
static type_const_iterator find(const type &cont, const_child_ptr aChild)
static bool contains(const type &cont, const_child_ptr aChild)
ElementLink< CONT > value_type
std::pair< ElementLink< CONT >, RPAR > value_type
static const_child_ptr getChildPtr(type_const_iterator iter)
static bool replace(type &cont, const CONT &theNewContainer)
static void insert(type &cont, const ElementLink< CONT > *aLink, const RPAR &aPar=RPAR(), size_t sizeHint=0)
static void insert(type &cont, const ElementLink< CONT > *aLink, const DefaultWeight &, size_t sizeHint=0)
static void changeParm(type_iterator &, const DefaultWeight &)
static const CONT & getContRef(type_const_iterator thisIter)
static bool remove(type &cont, const_child_ptr aChild)
static type_iterator find(type &cont, const_child_ptr aChild)
std::vector< value_type > type
static const_child_ptr getChildPtr(type_const_iterator thisIter)
static void changeParm(type &, const_child_ptr, const DefaultWeight &)
static void insert(type &cont, const CONT *aChildContainer, const external_index_type &anIndex, const RPAR &aPar=RPAR(), size_t sizeHint=0)
DefaultContainer TerminalNode
static bool remove(type &cont, const ElementLink< CONT > *theElement)
static const CONT & getContRef(const type &cont, const_child_ptr aChild)
SG::GenerateIndexingPolicy< CONT >::type::index_type external_index_type
DefaultWeight DefaultParameter
static const ElementLink< CONT > * getElementPtr(type_const_iterator thisIter)
static bool getContIndex(const type &cont, const_child_ptr aChild, external_index_type &theIndex)