ATLAS Offline Software
Loading...
Searching...
No Matches
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
11namespace pool {
12
13 // forward declarations
14 class ITokenIterator;
16
22
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() = 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
std::string m_name
The name of the container.
Definition IContainer.h:52
virtual ITechnologySpecificAttributes & technologySpecificAttributes()=0
IContainer(const std::string &name)
Constructor initializing its name.
virtual long technology() const =0
Returns the technology identifier for this container.
virtual ~IContainer()
Empty destructor.
Definition IContainer.h:26
const std::string & name() const
Returns the name of this container.
virtual const std::string & parentDatabaseName() const =0
Returns the name (fid) of the parent database.
virtual const ITechnologySpecificAttributes & technologySpecificAttributes() const =0
Returns the object holding the technology specific attributes for a given technology domain.
virtual ITokenIterator * tokens()=0
Starts an iteration over the tokens in the container.
ITechnologySpecificAttributes is the interface for an object holding technology-specific attributes.
ITokenIterator is the interface class for iterators of tokens.
pool namespace
Definition libname.h:15