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

CdbBdbSLeafNodeP.ddl

Go to the documentation of this file.
00001 #ifndef CDBBDBSHARED_LEAF_NODE_P_HH
00002 #define CDBBDBSHARED_LEAF_NODE_P_HH
00003 
00004 // File and Version Information:
00005 //      $Id: CdbBdbSLeafNodeP.ddl,v 1.4 2004/08/06 05:54:24 bartoldu Exp $
00006 
00007 #include "BdbUtil/Bdb.hh"
00008 
00009 #include "CdbBdbShared/CdbBdbSNodeP.hh"
00010 
00011 /// The 'leaf' node class of the "paged" v-array class
00012 /**
00013   * This class provides storage for embeded objects of the type specified
00014   * through the template parameter.
00015   */
00016 template< typename E >
00017 class CdbBdbSLeafNodeP : public CdbBdbSNodeP<E> {
00018 
00019 public:
00020 
00021   // Constructors
00022 
00023     CdbBdbSLeafNodeP( d_ULong theSize = 0 );
00024 
00025   // Destructor
00026 
00027     virtual ~CdbBdbSLeafNodeP( );
00028 
00029   // Resize the node (including its subnodes if any) to fit specified size
00030 
00031     virtual BdbStatus resize( d_ULong theNewSize,
00032                               d_ULong theNumPerLeaf,
00033                               d_ULong theNumPerDirectory );
00034 
00035   // Modify an element at specified location
00036 
00037     virtual void setElementAt( d_ULong  theIndex,
00038                                const E& value,
00039                                d_ULong  theNumPerLeaf,
00040                                d_ULong  theNumPerDirectory );
00041 
00042   // Return a copy of an element at specified location
00043 
00044     virtual E elementAt( d_ULong theIndex,
00045                          d_ULong theNumPerLeaf,
00046                          d_ULong theNumPerDirectory ) const;
00047 
00048   /// Dump the node (recursive)
00049   /**
00050     * The detailed dump of the contents is only done if the corresponding
00051     * flass value is "true".
00052     */
00053     virtual void dump( d_ULong  numSpaces,
00054                        std::ostream& o,
00055                        bool     dumpContentsFlag ) const;
00056 
00057 public:
00058 
00059   // An array of embeded objects
00060 
00061     ooVArray(E) _data;
00062 };
00063 
00064 #ifdef    BABAR_COMP_INST
00065 #include "CdbBdbShared/CdbBdbSLeafNodeP.cc"
00066 #endif /* BABAR_COMP_INST */
00067 
00068 #endif /* CDBBDBSHARED_LEAF_NODE_P_HH */

Generated on Mon Dec 5 18:22:02 2005 for CDB by doxygen1.3-rc3