Gaudi Framework, version v23r0

Home   Generated: Mon Jan 30 2012
Public Member Functions | Protected Attributes

DataStoreItem Class Reference

Description of the DataStoreItem class. More...

#include <GaudiKernel/DataStoreItem.h>

Collaboration diagram for DataStoreItem:
Collaboration graph
[legend]

List of all members.

Public Member Functions

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

Protected Attributes

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

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 18 of file DataStoreItem.h.


Constructor & Destructor Documentation

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

Standard Constructor.

Definition at line 26 of file DataStoreItem.h.

DataStoreItem::DataStoreItem ( const DataStoreItem item ) [inline]

Copy constructor.

Definition at line 31 of file DataStoreItem.h.

  : m_path(item.m_path), m_depth(item.m_depth)  {
    analyse();
  }
virtual DataStoreItem::~DataStoreItem (  ) [inline, virtual]

Standard Destructor.

Definition at line 36 of file DataStoreItem.h.

                           {
  }

Member Function Documentation

void DataStoreItem::analyse (  ) [inline]

Interprete the load path for special options.

Definition at line 54 of file DataStoreItem.h.

                    {
    int len = m_path.length()-1;
    if ( m_path[len] == '*' )   {
      m_depth = 99999999;
      (m_path[len-1] == '/') ? m_path.erase(len-1, 2) : m_path.erase(len, 1);
    }
    else if ( m_path[len] == '+' )  {
      (m_path[len-1] == '/') ? m_path.erase(len-1, 2) : m_path.erase(len, 1);
      m_depth = 2;
    }
  }
int DataStoreItem::depth (  ) const [inline]

Accessor: Retrieve load depth.

Definition at line 70 of file DataStoreItem.h.

                      {
    return m_depth;
  }
bool DataStoreItem::operator!= ( const DataStoreItem cmp ) const [inline]

Inequality operator.

Definition at line 43 of file DataStoreItem.h.

                                                     {
    return ! ( m_path == cmp.path() && m_depth == cmp.depth() );
  }
DataStoreItem& DataStoreItem::operator= ( const DataStoreItem cmp ) [inline]

Equivalence operator.

Definition at line 47 of file DataStoreItem.h.

                                                      {
    m_path  = cmp.path();
    m_depth = cmp.depth();
    analyse();
    return *this;
  }
bool DataStoreItem::operator== ( const DataStoreItem cmp ) const [inline]

Equality operator.

Definition at line 39 of file DataStoreItem.h.

                                                     {
    return m_path == cmp.path() && m_depth == cmp.depth();
  }
const std::string& DataStoreItem::path (  ) const [inline]

Accessor: Retrieve load path.

Definition at line 66 of file DataStoreItem.h.

                                    {
    return m_path;
  }

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.

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Mon Jan 30 2012 13:53:12 for Gaudi Framework, version v23r0 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004