CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Attributes | Friends
PhysicsTools::VarProcessor::ConfIterator Class Reference

Iterator to loop over the input/output variable configuration. More...

#include <VarProcessor.h>

Public Member Functions

 operator bool () const
 test for end of iterator More...
 
ConfIteratoroperator() (Variable::Flags mask)
 apply property flags mask to variable at current position More...
 
Variable::Flags operator* () const
 return the current input variable flags More...
 
ConfIteratoroperator++ ()
 move to next input variable More...
 
ConfIterator operator++ (int dummy)
 move to next input variable More...
 
ConfIteratoroperator<< (Config config_)
 add a new output variable configuration config_ More...
 
ConfIteratoroperator<< (Variable::Flags mask)
 add a new output variable configuration with mask mask More...
 
ConfIteratoroperator<< (const ConfIterator &origin)
 add a new output variable that inherits values from origin More...
 

Protected Member Functions

 ConfIterator (BitSet::Iterator cur, ConfigCtx &config)
 

Private Attributes

ConfigCtxconfig
 
BitSet::Iterator cur
 

Friends

class VarProcessor
 

Detailed Description

Iterator to loop over the input/output variable configuration.

Iterator to loop over the input/output variable values.

Definition at line 148 of file VarProcessor.h.

Constructor & Destructor Documentation

PhysicsTools::VarProcessor::ConfIterator::ConfIterator ( BitSet::Iterator  cur,
ConfigCtx config 
)
inlineprotected

Definition at line 187 of file VarProcessor.h.

Member Function Documentation

PhysicsTools::VarProcessor::ConfIterator::operator bool ( ) const
inline

test for end of iterator

Definition at line 175 of file VarProcessor.h.

175 { return cur; }
ConfIterator& PhysicsTools::VarProcessor::ConfIterator::operator() ( Variable::Flags  mask)
inline

apply property flags mask to variable at current position

Definition at line 151 of file VarProcessor.h.

References PhysicsTools::VarProcessor::Config::mask.

152  {
153  config[cur()].mask =
154  (Variable::Flags)(config[cur()].mask & mask);
155  return *this;
156  }
Definition: config.py:1
Variable::Flags PhysicsTools::VarProcessor::ConfIterator::operator* ( void  ) const
inline

return the current input variable flags

Definition at line 171 of file VarProcessor.h.

172  { return config[cur()].mask; }
Definition: config.py:1
ConfIterator& PhysicsTools::VarProcessor::ConfIterator::operator++ ( void  )
inline

move to next input variable

Definition at line 178 of file VarProcessor.h.

178 { ++cur; return *this; }
ConfIterator PhysicsTools::VarProcessor::ConfIterator::operator++ ( int  dummy)
inline

move to next input variable

Definition at line 181 of file VarProcessor.h.

182  { ConfIterator orig = *this; operator ++ (); return orig; }
ConfIterator & operator++()
move to next input variable
Definition: VarProcessor.h:178
ConfIterator(BitSet::Iterator cur, ConfigCtx &config)
Definition: VarProcessor.h:187
ConfIterator& PhysicsTools::VarProcessor::ConfIterator::operator<< ( Config  config_)
inline

add a new output variable configuration config_

Definition at line 159 of file VarProcessor.h.

160  { config.push_back(config_); return *this; }
Definition: config.py:1
ConfIterator& PhysicsTools::VarProcessor::ConfIterator::operator<< ( Variable::Flags  mask)
inline

add a new output variable configuration with mask mask

Definition at line 163 of file VarProcessor.h.

References PhysicsTools::VarProcessor::Config::Config().

ConfIterator& PhysicsTools::VarProcessor::ConfIterator::operator<< ( const ConfIterator origin)
inline

add a new output variable that inherits values from origin

Definition at line 167 of file VarProcessor.h.

References PhysicsTools::VarProcessor::Config::Config(), and cur.

168  { return *this << Config(config[origin.cur()].mask, origin.cur()); }
Definition: config.py:1
Definition: Config.py:1

Friends And Related Function Documentation

friend class VarProcessor
friend

Definition at line 185 of file VarProcessor.h.

Member Data Documentation

ConfigCtx& PhysicsTools::VarProcessor::ConfIterator::config
private

Definition at line 192 of file VarProcessor.h.

BitSet::Iterator PhysicsTools::VarProcessor::ConfIterator::cur
private

Definition at line 191 of file VarProcessor.h.

Referenced by operator<<().