CMS 3D CMS Logo

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)
 
 ASCIIBoolFieldHandler ()=delete
 
void extractValue (const AttributeList &src, TOutput &dest) override
 
- Public Member Functions inherited from FieldHandler< TOutput, bool, char >
void extractValue (const AttributeList &src, TOutput &dest) override
 
 FieldHandler (const std::string &fieldName, TSetMethod setter)
 
 FieldHandler ()=delete
 
- Public Member Functions inherited from FieldHandlerBase< TOutput >
 FieldHandlerBase (const std::string &name)
 
 FieldHandlerBase ()=delete
 
virtual const std::string getColumnName ()
 
const std::string & getName ()
 
virtual ~FieldHandlerBase ()
 

Additional Inherited Members

- Protected Member Functions inherited from FieldHandler< TOutput, bool, char >
void call (TOutput &dest, const bool value)
 
- 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 97 of file RecordHelper.h.

Member Typedef Documentation

◆ AttributeList

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

Definition at line 99 of file RecordHelper.h.

Constructor & Destructor Documentation

◆ ASCIIBoolFieldHandler() [1/2]

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

Definition at line 100 of file RecordHelper.h.

◆ ASCIIBoolFieldHandler() [2/2]

template<class TOutput , char FalseCharacter>
ASCIIBoolFieldHandler< TOutput, FalseCharacter >::ASCIIBoolFieldHandler ( )
delete

Member Function Documentation

◆ extractValue()

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

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

Implements FieldHandlerBase< TOutput >.

Definition at line 106 of file RecordHelper.h.

References FieldHandler< TOutput, bool, char >::call(), gather_cfg::cout, FieldHandlerBase< TOutput >::getColumnName(), createfilelist::int, and TrackRefitter_38T_cff::src.

106  {
107  char value = src[this->getColumnName()].template data<char>();
108 #ifdef RECORDHELPER_DEBUG
109  std::cout << " .. and " << this->getColumnName() << " is (in integers) " << (int)value << std::endl;
110 #endif
111  this->call(dest, value != FalseCharacter);
112  }
void call(TOutput &dest, const bool value)
Definition: RecordHelper.h:85
virtual const std::string getColumnName()
Definition: RecordHelper.h:40
Definition: value.py:1