CMS 3D CMS Logo

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>

List of all members.

Public Member Functions

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

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 128 of file VarProcessor.h.


Constructor & Destructor Documentation

PhysicsTools::VarProcessor::ConfIterator::ConfIterator ( BitSet::Iterator  cur,
ConfigCtx config 
) [inline, protected]

Definition at line 167 of file VarProcessor.h.

                                                                    :
                        cur(cur), config(config) {}

Member Function Documentation

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

test for end of iterator

Definition at line 155 of file VarProcessor.h.

References cur.

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

apply property flags mask to variable at current position

Definition at line 131 of file VarProcessor.h.

References config, and cur.

                {
                        config[cur()].mask =
                                (Variable::Flags)(config[cur()].mask & mask);
                        return *this;
                }
Variable::Flags PhysicsTools::VarProcessor::ConfIterator::operator* ( void  ) const [inline]

return the current input variable flags

Definition at line 151 of file VarProcessor.h.

References config, and cur.

                { return config[cur()].mask; }
ConfIterator PhysicsTools::VarProcessor::ConfIterator::operator++ ( int  dummy) [inline]

move to next input variable

Definition at line 161 of file VarProcessor.h.

References operator++().

                { ConfIterator orig = *this; operator ++ (); return orig; }
ConfIterator& PhysicsTools::VarProcessor::ConfIterator::operator++ ( void  ) [inline]

move to next input variable

Definition at line 158 of file VarProcessor.h.

References cur.

Referenced by operator++().

{ ++cur; return *this; }
ConfIterator& PhysicsTools::VarProcessor::ConfIterator::operator<< ( const ConfIterator origin) [inline]

add a new output variable that inherits values from origin

Definition at line 147 of file VarProcessor.h.

References config, and cur.

                { return *this << Config(config[origin.cur()].mask, origin.cur()); }
ConfIterator& PhysicsTools::VarProcessor::ConfIterator::operator<< ( Config  config_) [inline]

add a new output variable configuration config_

Definition at line 139 of file VarProcessor.h.

References config, and PhysicsTools::VarProcessor::ConfigCtx::push_back().

                { config.push_back(config_); return *this; }
ConfIterator& PhysicsTools::VarProcessor::ConfIterator::operator<< ( Variable::Flags  mask) [inline]

add a new output variable configuration with mask mask

Definition at line 143 of file VarProcessor.h.

                { return *this << Config(mask, 0); }

Friends And Related Function Documentation

friend class VarProcessor [friend]

Definition at line 165 of file VarProcessor.h.


Member Data Documentation

Definition at line 172 of file VarProcessor.h.

Referenced by operator()(), operator*(), and operator<<().

Definition at line 171 of file VarProcessor.h.

Referenced by operator bool(), operator()(), operator*(), operator++(), and operator<<().