ProtoMol - an object-oriented component based framework for Molecular Dynamics simulations.

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

ProtoMol::AbstractEnumType< T, noCase > Class Template Reference

#include <AbstractEnumType.h>

List of all members.

Public Types

typedef T::Enum Enum

Public Member Functions

 AbstractEnumType ()
 AbstractEnumType (Enum n)
 AbstractEnumType (const std::string &s)
 AbstractEnumType (const char s[])
std::string getString () const
Enum getEnum () const
bool valid () const
 operator Enum () const
 operator std::string () const
AbstractEnumTypeoperator= (Enum a)
bool operator== (Enum a)
bool operator== (const AbstractEnumType &a)
bool operator!= (Enum a)
bool operator!= (const AbstractEnumType &a)

Static Public Member Functions

bool valid (Enum e)
const std::string & getString (Enum e)
std::string getPossibleValues (std::string separator="|")

Static Private Member Functions

Enum getEnum (const std::string &s)
Enum getEnum (int n)
const std::string & getString (int n)

Private Attributes

Enum myType

Friends

Report::MyStreameroperator<< (Report::MyStreamer &OS, const AbstractEnumType &b)


Detailed Description

template<typename T, bool noCase = true>
class ProtoMol::AbstractEnumType< T, noCase >

Provides a simple interface to implement a simple map between enum's and string's. AbstractEnumType supports conversions and comparison between string and enum/int simplifying the parsing. It is array based (search is of O(N)).


Member Typedef Documentation

template<typename T, bool noCase = true>
typedef T::Enum ProtoMol::AbstractEnumType< T, noCase >::Enum
 


Constructor & Destructor Documentation

template<typename T, bool noCase = true>
ProtoMol::AbstractEnumType< T, noCase >::AbstractEnumType  )  [inline]
 

template<typename T, bool noCase = true>
ProtoMol::AbstractEnumType< T, noCase >::AbstractEnumType Enum  n  )  [inline]
 

template<typename T, bool noCase = true>
ProtoMol::AbstractEnumType< T, noCase >::AbstractEnumType const std::string &  s  )  [inline]
 

template<typename T, bool noCase = true>
ProtoMol::AbstractEnumType< T, noCase >::AbstractEnumType const char  s[]  )  [inline]
 


Member Function Documentation

template<typename T, bool noCase>
AbstractEnumType< T, noCase >::Enum ProtoMol::AbstractEnumType< T, noCase >::getEnum int  n  )  [static, private]
 

template<typename T, bool noCase>
AbstractEnumType< T, noCase >::Enum ProtoMol::AbstractEnumType< T, noCase >::getEnum const std::string &  s  )  [static, private]
 

template<typename T, bool noCase = true>
Enum ProtoMol::AbstractEnumType< T, noCase >::getEnum  )  const [inline]
 

template<typename T, bool noCase>
std::string ProtoMol::AbstractEnumType< T, noCase >::getPossibleValues std::string  separator = "|"  )  [static]
 

template<typename T, bool noCase = true>
const std::string& ProtoMol::AbstractEnumType< T, noCase >::getString int  n  )  [inline, static, private]
 

template<typename T, bool noCase = true>
const std::string& ProtoMol::AbstractEnumType< T, noCase >::getString Enum  e  )  [inline, static]
 

template<typename T, bool noCase = true>
std::string ProtoMol::AbstractEnumType< T, noCase >::getString  )  const [inline]
 

template<typename T, bool noCase = true>
ProtoMol::AbstractEnumType< T, noCase >::operator Enum  )  const [inline]
 

template<typename T, bool noCase = true>
ProtoMol::AbstractEnumType< T, noCase >::operator std::string  )  const [inline]
 

template<typename T, bool noCase = true>
bool ProtoMol::AbstractEnumType< T, noCase >::operator!= const AbstractEnumType< T, noCase > &  a  )  [inline]
 

template<typename T, bool noCase = true>
bool ProtoMol::AbstractEnumType< T, noCase >::operator!= Enum  a  )  [inline]
 

template<typename T, bool noCase = true>
AbstractEnumType& ProtoMol::AbstractEnumType< T, noCase >::operator= Enum  a  )  [inline]
 

template<typename T, bool noCase = true>
bool ProtoMol::AbstractEnumType< T, noCase >::operator== const AbstractEnumType< T, noCase > &  a  )  [inline]
 

template<typename T, bool noCase = true>
bool ProtoMol::AbstractEnumType< T, noCase >::operator== Enum  a  )  [inline]
 

template<typename T, bool noCase = true>
bool ProtoMol::AbstractEnumType< T, noCase >::valid Enum  e  )  [inline, static]
 

template<typename T, bool noCase = true>
bool ProtoMol::AbstractEnumType< T, noCase >::valid  )  const [inline]
 


Friends And Related Function Documentation

template<typename T, bool noCase = true>
Report::MyStreamer& operator<< Report::MyStreamer OS,
const AbstractEnumType< T, noCase > &  b
[friend]
 


Member Data Documentation

template<typename T, bool noCase = true>
Enum ProtoMol::AbstractEnumType< T, noCase >::myType [private]
 


The documentation for this class was generated from the following file: Last update: . GNU GENERAL PUBLIC LICENSE, copyrighted by the University of Notre Dame and the University of Bergen, Norway.