The Gaudi Framework  v30r3 (a5ef0a68)
DataStoreItem Class Reference

Description of the DataStoreItem class. More...

#include <GaudiKernel/DataStoreItem.h>

Collaboration diagram for DataStoreItem:

Public Member Functions

 DataStoreItem (std::string path, int depth=1)
 Standard Constructor. More...
 
 DataStoreItem (const DataStoreItem &item)
 Copy constructor. More...
 
virtual ~DataStoreItem ()=default
 Standard Destructor. More...
 
bool operator== (const DataStoreItem &cmp) const
 Equality operator. More...
 
bool operator!= (const DataStoreItem &cmp) const
 Inequality operator. More...
 
DataStoreItemoperator= (const DataStoreItem &cmp)
 Equivalence operator. More...
 
void analyse ()
 Interprete the load path for special options. More...
 
const std::stringpath () const
 Accessor: Retrieve load path. More...
 
int depth () const
 Accessor: Retrieve load depth. More...
 

Protected Attributes

std::string m_path
 Path of item to be loaded. More...
 
int m_depth
 Depth to be auto-loaded from the requested path onwards. More...
 

Detailed Description

Description of the DataStoreItem class.

DataStoreItems describe in an abstract way an item in the data store. Items can be supplied to the services in order to e.g. trigger preloading or writing.

Author
M.Frank
Version
1.0

Definition at line 17 of file DataStoreItem.h.

Constructor & Destructor Documentation

DataStoreItem::DataStoreItem ( std::string  path,
int  depth = 1 
)
inline

Standard Constructor.

Definition at line 27 of file DataStoreItem.h.

27 : m_path( std::move( path ) ), m_depth( depth ) { analyse(); }
int depth() const
Accessor: Retrieve load depth.
Definition: DataStoreItem.h:60
std::string m_path
Path of item to be loaded.
Definition: DataStoreItem.h:21
void analyse()
Interprete the load path for special options.
Definition: DataStoreItem.h:46
int m_depth
Depth to be auto-loaded from the requested path onwards.
Definition: DataStoreItem.h:23
T move(T...args)
DataStoreItem::DataStoreItem ( const DataStoreItem item)
inline

Copy constructor.

Definition at line 29 of file DataStoreItem.h.

29 : m_path( item.m_path ), m_depth( item.m_depth ) { analyse(); }
std::string m_path
Path of item to be loaded.
Definition: DataStoreItem.h:21
void analyse()
Interprete the load path for special options.
Definition: DataStoreItem.h:46
int m_depth
Depth to be auto-loaded from the requested path onwards.
Definition: DataStoreItem.h:23
virtual DataStoreItem::~DataStoreItem ( )
virtualdefault

Standard Destructor.

Member Function Documentation

void DataStoreItem::analyse ( )
inline

Interprete the load path for special options.

Definition at line 46 of file DataStoreItem.h.

47  {
48  int len = m_path.length() - 1;
49  if ( m_path[len] == '*' ) {
50  m_depth = 99999999;
51  ( m_path[len - 1] == '/' ) ? m_path.erase( len - 1, 2 ) : m_path.erase( len, 1 );
52  } else if ( m_path[len] == '+' ) {
53  ( m_path[len - 1] == '/' ) ? m_path.erase( len - 1, 2 ) : m_path.erase( len, 1 );
54  m_depth = 2;
55  }
56  }
std::string m_path
Path of item to be loaded.
Definition: DataStoreItem.h:21
T erase(T...args)
int m_depth
Depth to be auto-loaded from the requested path onwards.
Definition: DataStoreItem.h:23
T length(T...args)
int DataStoreItem::depth ( ) const
inline

Accessor: Retrieve load depth.

Definition at line 60 of file DataStoreItem.h.

60 { return m_depth; }
int m_depth
Depth to be auto-loaded from the requested path onwards.
Definition: DataStoreItem.h:23
bool DataStoreItem::operator!= ( const DataStoreItem cmp) const
inline

Inequality operator.

Definition at line 36 of file DataStoreItem.h.

36 { return !( m_path == cmp.path() && m_depth == cmp.depth() ); }
int depth() const
Accessor: Retrieve load depth.
Definition: DataStoreItem.h:60
std::string m_path
Path of item to be loaded.
Definition: DataStoreItem.h:21
const std::string & path() const
Accessor: Retrieve load path.
Definition: DataStoreItem.h:58
int m_depth
Depth to be auto-loaded from the requested path onwards.
Definition: DataStoreItem.h:23
DataStoreItem& DataStoreItem::operator= ( const DataStoreItem cmp)
inline

Equivalence operator.

Definition at line 38 of file DataStoreItem.h.

39  {
40  m_path = cmp.path();
41  m_depth = cmp.depth();
42  analyse();
43  return *this;
44  }
int depth() const
Accessor: Retrieve load depth.
Definition: DataStoreItem.h:60
std::string m_path
Path of item to be loaded.
Definition: DataStoreItem.h:21
const std::string & path() const
Accessor: Retrieve load path.
Definition: DataStoreItem.h:58
void analyse()
Interprete the load path for special options.
Definition: DataStoreItem.h:46
int m_depth
Depth to be auto-loaded from the requested path onwards.
Definition: DataStoreItem.h:23
bool DataStoreItem::operator== ( const DataStoreItem cmp) const
inline

Equality operator.

Definition at line 34 of file DataStoreItem.h.

34 { return m_path == cmp.path() && m_depth == cmp.depth(); }
int depth() const
Accessor: Retrieve load depth.
Definition: DataStoreItem.h:60
std::string m_path
Path of item to be loaded.
Definition: DataStoreItem.h:21
const std::string & path() const
Accessor: Retrieve load path.
Definition: DataStoreItem.h:58
int m_depth
Depth to be auto-loaded from the requested path onwards.
Definition: DataStoreItem.h:23
const std::string& DataStoreItem::path ( ) const
inline

Accessor: Retrieve load path.

Definition at line 58 of file DataStoreItem.h.

58 { return m_path; }
std::string m_path
Path of item to be loaded.
Definition: DataStoreItem.h:21

Member Data Documentation

int DataStoreItem::m_depth
protected

Depth to be auto-loaded from the requested path onwards.

Definition at line 23 of file DataStoreItem.h.

std::string DataStoreItem::m_path
protected

Path of item to be loaded.

Definition at line 21 of file DataStoreItem.h.


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