CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions
ASCIIBoolFieldHandler< TOutput, FalseCharacter > Class Template Reference

#include <RecordHelper.h>

Inheritance diagram for ASCIIBoolFieldHandler< TOutput, FalseCharacter >:
FieldHandler< TOutput, bool, char > FieldHandlerBase< TOutput >

Public Types

typedef coral::AttributeList AttributeList
 
- Public Types inherited from FieldHandler< TOutput, bool, char >
typedef coral::AttributeList AttributeList
 
typedef void(TOutput::* TSetMethod )(const bool)
 
- Public Types inherited from FieldHandlerBase< TOutput >
typedef coral::AttributeList AttributeList
 

Public Member Functions

 ASCIIBoolFieldHandler (const std::string &fieldName, typename FieldHandler< TOutput, bool, char >::TSetMethod setter)
 
virtual void extractValue (const AttributeList &src, TOutput &dest)
 
- Public Member Functions inherited from FieldHandler< TOutput, bool, char >
 FieldHandler (const std::string &fieldName, TSetMethod setter)
 
- Public Member Functions inherited from FieldHandlerBase< TOutput >
 FieldHandlerBase (const std::string &name)
 
virtual const std::string getColumnName ()
 
const std::string & getName ()
 
virtual ~FieldHandlerBase ()
 

Additional Inherited Members

- Protected Attributes inherited from FieldHandler< TOutput, bool, char >
TSetMethod setter_
 

Detailed Description

template<class TOutput, char FalseCharacter>
class ASCIIBoolFieldHandler< TOutput, FalseCharacter >

A special handler for bool fields in the GT/GMT DBs. These can't be imported in the generic way because bool values are returned as char '0' for false and '1' for true from the database. Basically, all values that are != FalseCharacter are treated as true (in adherence to the venerable C tradition).

Definition at line 93 of file RecordHelper.h.

Member Typedef Documentation

template<class TOutput , char FalseCharacter>
typedef coral::AttributeList ASCIIBoolFieldHandler< TOutput, FalseCharacter >::AttributeList

Definition at line 96 of file RecordHelper.h.

Constructor & Destructor Documentation

template<class TOutput , char FalseCharacter>
ASCIIBoolFieldHandler< TOutput, FalseCharacter >::ASCIIBoolFieldHandler ( const std::string &  fieldName,
typename FieldHandler< TOutput, bool, char >::TSetMethod  setter 
)
inline

Definition at line 97 of file RecordHelper.h.

Member Function Documentation

template<class TOutput , char FalseCharacter>
virtual void ASCIIBoolFieldHandler< TOutput, FalseCharacter >::extractValue ( const AttributeList src,
TOutput &  dest 
)
inlinevirtual

Extract value as char, then see compare it to '0' to get its truth value.

Reimplemented from FieldHandler< TOutput, bool, char >.

Definition at line 103 of file RecordHelper.h.

References gather_cfg::cout, alignmentValidation::dest, FieldHandlerBase< TOutput >::getColumnName(), FieldHandler< TOutput, bool, char >::setter_, and relativeConstraints::value.

104  {
105  char value = src[this->getColumnName()].template data<char>();
106 #ifdef RECORDHELPER_DEBUG
107  std::cout << " .. and " << this->getColumnName() << " is (in integers) " << (int) value << std::endl;
108 #endif
109  ((dest).*(this->setter_))(value != FalseCharacter);
110  }
virtual const std::string getColumnName()
Definition: RecordHelper.h:39
tuple cout
Definition: gather_cfg.py:41
tuple src
Definition: align_tpl.py:87