1#ifndef DCHAIN_NEUTRALVISIBLELIST_H
2#define DCHAIN_NEUTRALVISIBLELIST_H
88template <
class DecayClass >
class MuteWholeItr ;
89template <
class DecayClass >
class WholeItr ;
90template <
class DecayClass >
class PartialItr ;
99template<
class Neutral ,
class Cand
idateClass =
typename Neutral::Cand
idateClass >
116 template<
class TSelector>
118 const TSelector& aSel) :
121 fill(*(aOtherList.m_list),
126 template <
class WitnessIterator>
132 template<
class WitnessIterator,
class TSelector>
134 const TSelector& aFunctionalObject )
146 template<
class Witness>
149 fill(aWitnessList.begin(), aWitnessList.end(),
156 template<
class TSelector>
169 template<
class TAnalyze>
170 void iterate(
const TAnalyze& analyze)
const {
175 analyze( (*entry)() ) ;
179 template<
class TAnalyze>
185 analyze( (*entry)() ) ;
190 template<
class TSelect>
194 template <
class THolder,
class TSelect>
196 const TSelect& aSelect) {
197 bool returnValue = (aSelect)(*pPossible);
203 template <
class THolder>
215 template<
class TMaker,
class TSelector>
217 const TMaker& aMaker,
218 const TSelector& aSel) {
223 const Neutral& from((*entry)());
230 template<
class Iterator,
class TMaker,
class TSelector>
231 void fill(Iterator first, Iterator last,
232 const TMaker& aMaker,
234 std::transform(first,last,
260 template<
class TIList,
class TSelector,
class T,
class U>
262 const TSelector& iSel,
264 oList.
fill(iList.begin(), iList.end(),
virtual ~NeutralVisibleList()
NeutralVisibleList(const self_type &aOtherList, const TSelector &aSel)
bool attempt_insert(THolder &pPossible, const TSelect &aSelect)
void iterate(TAnalyze &analyze) const
NeutralVisibleList(WitnessIterator first, WitnessIterator last)
void iterate(const TAnalyze &analyze) const
FillListWithSelection< self_type, TSelector > operator[](const TSelector &iSel)
void fill(Iterator first, Iterator last, const TMaker &aMaker, const TSelector &aSel=SelectAll< Neutral >())
virtual dchain::LabeledParticleList< Neutral, CandidateClass > & labeledCandidateList()
SelectiveInserter< self_type, TSelect > selectiveInserter(const TSelect &iSelect)
creates an insert iterator that filters based on iSelect
const self_type & operator=(const Witness &aWitnessList)
NeutralVisibleList< Neutral, CandidateClass > self_type
void insert(THolder &pPossible)
const self_type & operator=(const self_type &aOtherList)
iterator particle_begin()
void fill(const LabeledParticleList< Neutral, CandidateClass > &aList, const TMaker &aMaker, const TSelector &aSel)
NeutralVisibleList(WitnessIterator first, WitnessIterator last, const TSelector &aFunctionalObject)
dchain::MuteWholeItr< Neutral > iterator
dchain::WholeItr< Neutral > const_iterator
void fill_using_selector(const TIList &iList, const TSelector &iSel, ChargedVisibleList< T, U > &oList)