ATLAS Offline Software
IContainer.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INCLUDE_PERSISTENCYSVC_ICONTAINER_H
6 #define INCLUDE_PERSISTENCYSVC_ICONTAINER_H
7 
8 // includes
9 #include <string>
10 
11 namespace pool {
12 
13  // forward declarations
14  class ITokenIterator;
15  class ITechnologySpecificAttributes;
16 
23  class IContainer {
24  public:
26  virtual ~IContainer() {}
27 
29  const std::string& name() const;
30 
32  virtual const std::string& parentDatabaseName() const = 0;
33 
35  virtual long technology() const = 0;
36 
40  virtual ITokenIterator* tokens( const std::string& selection ) = 0;
41 
45 
46  protected:
48  explicit IContainer( const std::string& name );
49 
50  private:
52  std::string m_name;
53  };
54 }
55 
56 #endif
pool::IContainer
Definition: IContainer.h:23
pool::IContainer::IContainer
IContainer(const std::string &name)
Constructor initializing its name.
pool::IContainer::technologySpecificAttributes
virtual const ITechnologySpecificAttributes & technologySpecificAttributes() const =0
Returns the object holding the technology specific attributes for a given technology domain.
pool
pool namespace
Definition: libname.h:15
pool::IContainer::tokens
virtual ITokenIterator * tokens(const std::string &selection)=0
Starts an iteration over the tokens in the container.
pool::IContainer::technologySpecificAttributes
virtual ITechnologySpecificAttributes & technologySpecificAttributes()=0
pool::IContainer::technology
virtual long technology() const =0
Returns the technology identifier for this container.
pool::IContainer::m_name
std::string m_name
The name of the container.
Definition: IContainer.h:52
pool::IContainer::name
const std::string & name() const
Returns the name of this container.
pool::IContainer::parentDatabaseName
virtual const std::string & parentDatabaseName() const =0
Returns the name (fid) of the parent database.
selection
std::string selection
Definition: fbtTestBasics.cxx:73
pool::ITokenIterator
Definition: ITokenIterator.h:20
pool::ITechnologySpecificAttributes
Definition: ITechnologySpecificAttributes.h:22
pool::IContainer::~IContainer
virtual ~IContainer()
Empty destructor.
Definition: IContainer.h:26