Bdb packages | Design docs | Source docs | Guidelines | Recent releases

Search | Site Map .

Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

TagTransient Class Reference
[TagData]

#include <TagTransient.hh>

Inheritance diagram for TagTransient:

AbsEventTag AbsEvtObj BdbTagTransient TagDescriptor List of all members.

Public Methods

 TagTransient ()
 TagTransient (const TagTransient &anotherTag)
TagTransient & operator= (const TagTransient &other)
virtual ~TagTransient ()
virtual bool getBool (bool &value, const char *const key) const
virtual bool getInt (int &value, const char *const key) const
virtual bool getFloat (float &value, const char *const key) const
virtual bool putBool (bool value, const char *const key)
virtual bool putInt (int value, const char *const key)
virtual bool putFloat (float value, const char *const key)
virtual bool putInt (int value, const char *const key, ComPackBase< int > *packer)
virtual bool putFloat (float value, const char *const key, ComPackBase< float > *packer)
virtual bool merge (AbsEventTag *anotherTag, bool iwin)
virtual AbsEventTagBoolIterboolIter ()
virtual AbsEventTagIntIterintIter ()
virtual AbsEventTagFloatIterfloatIter ()
void lock ()

Protected Attributes

RWTValHashDictionary< RWCString,
bool > * 
_bools
RWTValHashDictionary< RWCString,
int > * 
_ints
RWTValHashDictionary< RWCString,
float > * 
_floats
bool _locked

Friends

class TagTransientBoolIter
class TagTransientIntIter
class TagTransientFloatIter

Detailed Description

The TagTransient class. This is an interface for the transient event tag.

The event tag contains named integer, float and boolean elements. The name of each element must be unique, independent of the data type.

Copyright (C) 1998 Lawrence Berkeley National Laboratory

Version:
Id:
TagTransient.hh,v 1.8 2001/10/31 00:04:08 brownd Exp

Author:
(David R. Quarrie) Originator

Definition at line 55 of file TagTransient.hh.


Constructor & Destructor Documentation

TagTransient::TagTransient  
 

Definition at line 54 of file TagTransient.cc.

References bool, and false.

TagTransient::TagTransient const TagTransient &    anotherTag
 

Definition at line 62 of file TagTransient.cc.

References bool, and true.

TagTransient::~TagTransient   [virtual]
 

Definition at line 89 of file TagTransient.cc.

References _bools, _floats, and _ints.


Member Function Documentation

AbsEventTagBoolIter * TagTransient::boolIter   [virtual]
 

Return an iterator that allows the boolean elements to be retrieved from the tag. It is the responsibility of the client to delete this iterator after use.

Implements AbsEventTag.

Reimplemented in BdbTagTransient.

Definition at line 292 of file TagTransient.cc.

References TagTransientBoolIter.

AbsEventTagFloatIter * TagTransient::floatIter   [virtual]
 

Return an iterator that allows the float elements to be retrieved from the tag. It is the responsibility of the client to delete this iterator after use.

Implements AbsEventTag.

Reimplemented in BdbTagTransient.

Definition at line 304 of file TagTransient.cc.

References TagTransientFloatIter.

bool TagTransient::getBool bool &    value,
const char *const    key
const [virtual]
 

Retrieve a boolean tag element. The "key" argument is used as the key for identifying the element. The function value indicates whether the specified tag element exists, and the "value" argument is used to return the value of the element.

Implements AbsEventTag.

Reimplemented in BdbTagTransient.

Definition at line 123 of file TagTransient.cc.

References _bools, and result.

Referenced by main(), and merge().

bool TagTransient::getFloat float &    value,
const char *const    key
const [virtual]
 

Retrieve float tag element. The "key" argument is used as the key for identifying the element. The function value indicates whether the specified tag element exists, and the "value" argument is used to return the value of the element.

Implements AbsEventTag.

Reimplemented in BdbTagTransient.

Definition at line 137 of file TagTransient.cc.

References _floats, and result.

Referenced by main(), and merge().

bool TagTransient::getInt int &    value,
const char *const    key
const [virtual]
 

Retrieve an integer tag element. The "key" argument is used as the key for identifying the element. The function value indicates whether the specified tag element exists, and the "value" argument is used to return the value of the element.

Implements AbsEventTag.

Reimplemented in BdbTagTransient.

Definition at line 130 of file TagTransient.cc.

References _ints, and result.

Referenced by main(), and merge().

AbsEventTagIntIter * TagTransient::intIter   [virtual]
 

Return an iterator that allows the integer elements to be retrieved from the tag. It is the responsibility of the client to delete this iterator after use.

Implements AbsEventTag.

Reimplemented in BdbTagTransient.

Definition at line 298 of file TagTransient.cc.

References TagTransientIntIter.

void TagTransient::lock void    [inline]
 

Definition at line 175 of file TagTransient.hh.

References _locked.

Referenced by TagCreateModule::event(), and BdbTagConverter::input().

bool TagTransient::merge AbsEventTag   anotherTag,
bool    iwin
[virtual]
 

Merge the contents with another tag

Parameters:
iwin  specifies which value to use in case of name collision: true -- use own value false -- use other value

Implements AbsEventTag.

Definition at line 230 of file TagTransient.cc.

References _bools, _floats, _ints, AbsEventTag::boolIter(), AbsEventTag::floatIter(), getBool(), getFloat(), getInt(), AbsEventTag::intIter(), AbsEventTagFloatIter::key(), AbsEventTagIntIter::key(), AbsEventTagBoolIter::key(), AbsEventTagFloatIter::next(), AbsEventTagIntIter::next(), AbsEventTagBoolIter::next(), AbsEventTagFloatIter::value(), AbsEventTagIntIter::value(), and AbsEventTagBoolIter::value().

TagTransient & TagTransient::operator= const TagTransient &    other
 

Definition at line 75 of file TagTransient.cc.

References _bools, _floats, _ints, and _locked.

bool TagTransient::putBool bool    value,
const char *const    key
[virtual]
 

Insert a boolean tag element. The "key" argument is used as the key for identifying the element. The function value indicates whether the insertion was successful. A failure indicates that the specified name is already in use for an element of another basic datatype. The "value" argument specifies the value of the element.

Implements AbsEventTag.

Reimplemented in TagDescriptor.

Definition at line 144 of file TagTransient.cc.

References _bools, and result.

Referenced by BdbTagTransient::fillTransientBools(), BdbTagTransient::getBool(), and main().

bool TagTransient::putFloat float    value,
const char *const    key,
ComPackBase< float > *    packer
[virtual]
 

Insert a packed float tag element.

Implements AbsEventTag.

Reimplemented in TagDescriptor.

Definition at line 220 of file TagTransient.cc.

References putFloat().

bool TagTransient::putFloat float    value,
const char *const    key
[virtual]
 

Insert a float tag element. The "key" argument is used as the key for identifying the element. The function value indicates whether the insertion was successful. A failure indicates that the specified name is already in use for an element of another basic datatype. The "value" argument specifies the value of the element.

Implements AbsEventTag.

Reimplemented in TagDescriptor.

Definition at line 186 of file TagTransient.cc.

References _floats, and result.

Referenced by BdbTagTransient::fillTransientFloats(), BdbTagTransient::getFloat(), main(), and putFloat().

bool TagTransient::putInt int    value,
const char *const    key,
ComPackBase< int > *    packer
[virtual]
 

Insert a packed integer tag element. The ownership of the packer is taken.

Implements AbsEventTag.

Reimplemented in TagDescriptor.

Definition at line 211 of file TagTransient.cc.

References putInt().

bool TagTransient::putInt int    value,
const char *const    key
[virtual]
 

Insert an integer tag element. The "key" argument is used as the key for identifying the element. The function value indicates whether the insertion was successful. A failure indicates that the specified name is already in use for an element of another basic datatype. The "value" argument specifies the value of the element.

Implements AbsEventTag.

Reimplemented in TagDescriptor.

Definition at line 165 of file TagTransient.cc.

References _ints, and result.

Referenced by BdbTagTransient::fillTransientInts(), BdbTagTransient::getInt(), main(), and putInt().


Friends And Related Function Documentation

friend class TagTransientBoolIter [friend]
 

Reimplemented in BdbTagTransient.

Definition at line 184 of file TagTransient.hh.

Referenced by boolIter().

friend class TagTransientFloatIter [friend]
 

Reimplemented in BdbTagTransient.

Definition at line 186 of file TagTransient.hh.

Referenced by floatIter().

friend class TagTransientIntIter [friend]
 

Reimplemented in BdbTagTransient.

Definition at line 185 of file TagTransient.hh.

Referenced by intIter().


Member Data Documentation

RWTValHashDictionary<RWCString, bool>* TagTransient::_bools [protected]
 

Definition at line 178 of file TagTransient.hh.

Referenced by BdbTagTransient::fillTransientBools(), BdbTagTransient::getBool(), getBool(), merge(), operator=(), putBool(), TagDescriptor::putBool(), TagDescriptor::putFloat(), TagDescriptor::putInt(), TagTransientBoolIter::TagTransientBoolIter(), and ~TagTransient().

RWTValHashDictionary<RWCString, float>* TagTransient::_floats [protected]
 

Definition at line 180 of file TagTransient.hh.

Referenced by BdbTagTransient::fillTransientFloats(), BdbTagTransient::getFloat(), getFloat(), merge(), operator=(), TagDescriptor::putBool(), putFloat(), TagDescriptor::putFloat(), TagDescriptor::putInt(), TagTransientFloatIter::TagTransientFloatIter(), and ~TagTransient().

RWTValHashDictionary<RWCString, int>* TagTransient::_ints [protected]
 

Definition at line 179 of file TagTransient.hh.

Referenced by BdbTagTransient::fillTransientInts(), BdbTagTransient::getInt(), getInt(), merge(), operator=(), TagDescriptor::putBool(), TagDescriptor::putFloat(), putInt(), TagDescriptor::putInt(), TagTransientIntIter::TagTransientIntIter(), and ~TagTransient().

bool TagTransient::_locked [protected]
 

Definition at line 182 of file TagTransient.hh.

Referenced by lock(), operator=(), TagDescriptor::putBool(), TagDescriptor::putFloat(), TagDescriptor::putInt(), and TagDescriptor::TagDescriptor().


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

 


BaBar Public Site | SLAC | News | Links | Who's Who | Contact Us

Page Owner: Jacek Becla
Last Update: October 04, 2002