CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM::MultiCounter< CounterType > Class Template Reference

#include <MultiCounter.hh>

Detailed Description

template<typename CounterType>
class CASM::MultiCounter< CounterType >

Close relative of the Counter and IsoCounter class. MULTICOUNTER counts over multiple counter-type objects, enumerating all allowed states of all allowed counters It has a template parameter CounterType, which must be a counter class that has the same interface as Counter and IsoCounter

Definition at line 14 of file MultiCounter.hh.

Public Types

typedef CounterType::value_type value_type
 
typedef CounterType::size_type size_type
 
typedef CounterValueIterator
< MultiCounter
const_value_iterator
 

Public Member Functions

 ~MultiCounter ()
 
void operator++ (int)
 
 operator const Array< CounterType > & () const
 
Index size () const
 
const_value_iterator value_begin () const
 
const_value_iterator value_end () const
 
void push_back (const CounterType &new_counter)
 
CounterType & back ()
 
const CounterType & back () const
 
CounterType & operator[] (Index i)
 
const CounterType & operator[] (Index i) const
 
const Array< CounterType > & current () const
 
const Array< CounterType > & operator() () const
 
 MultiCounter ()
 
 MultiCounter (const Array< CounterType > &_counter)
 
MultiCounteroperator++ ()
 
bool operator+= (Index steps)
 
bool valid () const
 
void reset ()
 

Protected Attributes

bool m_is_valid
 
Array< CounterType > m_counters
 

Member Typedef Documentation

template<typename CounterType >
typedef CounterValueIterator<MultiCounter> CASM::MultiCounter< CounterType >::const_value_iterator

Definition at line 90 of file MultiCounter.hh.

template<typename CounterType >
typedef CounterType::size_type CASM::MultiCounter< CounterType >::size_type

Definition at line 89 of file MultiCounter.hh.

template<typename CounterType >
typedef CounterType::value_type CASM::MultiCounter< CounterType >::value_type

Definition at line 88 of file MultiCounter.hh.

Constructor & Destructor Documentation

template<typename CounterType >
CASM::MultiCounter< CounterType >::MultiCounter ( )

Definition at line 159 of file MultiCounter.hh.

template<typename CounterType >
CASM::MultiCounter< CounterType >::MultiCounter ( const Array< CounterType > &  _counter)

Definition at line 164 of file MultiCounter.hh.

template<typename CounterType >
CASM::MultiCounter< CounterType >::~MultiCounter ( )
inline

Definition at line 94 of file MultiCounter.hh.

Member Function Documentation

template<typename CounterType >
CounterType& CASM::MultiCounter< CounterType >::back ( )
inline

Definition at line 131 of file MultiCounter.hh.

template<typename CounterType >
const CounterType& CASM::MultiCounter< CounterType >::back ( ) const
inline

Definition at line 135 of file MultiCounter.hh.

template<typename CounterType >
const Array<CounterType>& CASM::MultiCounter< CounterType >::current ( ) const
inline

Definition at line 147 of file MultiCounter.hh.

template<typename CounterType >
CASM::MultiCounter< CounterType >::operator const Array< CounterType > & ( ) const
inline

Definition at line 104 of file MultiCounter.hh.

template<typename CounterType >
const Array<CounterType>& CASM::MultiCounter< CounterType >::operator() ( ) const
inline

Definition at line 151 of file MultiCounter.hh.

template<typename CounterType >
MultiCounter< CounterType > & CASM::MultiCounter< CounterType >::operator++ ( )

Definition at line 184 of file MultiCounter.hh.

template<typename CounterType >
void CASM::MultiCounter< CounterType >::operator++ ( int  )
inline

Definition at line 96 of file MultiCounter.hh.

template<typename CounterType >
bool CASM::MultiCounter< CounterType >::operator+= ( Index  steps)

Definition at line 206 of file MultiCounter.hh.

template<typename CounterType >
CounterType& CASM::MultiCounter< CounterType >::operator[] ( Index  i)
inline

Definition at line 139 of file MultiCounter.hh.

template<typename CounterType >
const CounterType& CASM::MultiCounter< CounterType >::operator[] ( Index  i) const
inline

Definition at line 143 of file MultiCounter.hh.

template<typename CounterType >
void CASM::MultiCounter< CounterType >::push_back ( const CounterType &  new_counter)
inline

Definition at line 126 of file MultiCounter.hh.

template<typename CounterType >
void CASM::MultiCounter< CounterType >::reset ( )

Definition at line 171 of file MultiCounter.hh.

template<typename CounterType >
Index CASM::MultiCounter< CounterType >::size ( ) const
inline

Definition at line 108 of file MultiCounter.hh.

template<typename CounterType >
bool CASM::MultiCounter< CounterType >::valid ( ) const

Definition at line 178 of file MultiCounter.hh.

template<typename CounterType >
const_value_iterator CASM::MultiCounter< CounterType >::value_begin ( ) const
inline

Definition at line 112 of file MultiCounter.hh.

template<typename CounterType >
const_value_iterator CASM::MultiCounter< CounterType >::value_end ( ) const
inline

Definition at line 119 of file MultiCounter.hh.

Member Data Documentation

template<typename CounterType >
Array<CounterType> CASM::MultiCounter< CounterType >::m_counters
protected

Definition at line 85 of file MultiCounter.hh.

template<typename CounterType >
bool CASM::MultiCounter< CounterType >::m_is_valid
protected

Definition at line 84 of file MultiCounter.hh.


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