ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
APR
PersistencySvc
src
Container.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef INCLUDE_PERSISTENCYSVC_CONTAINER_H
6
#define INCLUDE_PERSISTENCYSVC_CONTAINER_H
7
8
// includes
9
#include "
PersistencySvc/IContainer.h
"
10
#include "
PersistencySvc/ITechnologySpecificAttributes.h
"
11
12
namespace
pool
{
13
14
// forward declarations
15
class
FileDescriptor
;
16
22
23
class
Container
:
virtual
public
IContainer
,
24
virtual
public
ITechnologySpecificAttributes
{
25
public
:
26
Container
(
FileDescriptor
& fileDescriptor,
27
long
technology
,
28
const
std::string&
name
);
29
31
virtual
~Container
() =
default
;
32
34
virtual
const
std::string&
name
()
const
override final {
return
m_name
; }
35
37
virtual
long
technology
()
const
override final {
return
m_technology
; }
38
42
virtual
ITokenIterator
*
tokens
()
override
;
43
45
virtual
const
ITechnologySpecificAttributes
&
technologySpecificAttributes
()
const
override final {
return
*
this
; }
46
virtual
ITechnologySpecificAttributes
&
technologySpecificAttributes
() override final {
return
*
this
; }
47
48
protected
:
50
virtual
51
bool
attributeOfType
(
const
std::string& attributeName,
52
void
* data,
53
const
std::type_info& typeInfo,
54
const
std::string& option )
override
;
55
57
virtual
58
bool
setAttributeOfType
(
const
std::string& attributeName,
59
const
void
* data,
60
const
std::type_info& typeInfo,
61
const
std::string& option )
override
;
62
63
private
:
65
std::string
m_name
;
66
68
FileDescriptor
&
m_fileDescriptor
;
69
71
long
m_technology
;
72
};
73
}
74
75
#endif
IContainer.h
ITechnologySpecificAttributes.h
pool::Container::technology
virtual long technology() const override final
Returns the technology identifier for this container.
Definition
Container.h:37
pool::Container::m_technology
long m_technology
The technology identifier.
Definition
Container.h:71
pool::Container::setAttributeOfType
virtual bool setAttributeOfType(const std::string &attributeName, const void *data, const std::type_info &typeInfo, const std::string &option) override
The actual method setting the attribute data given a name.
pool::Container::attributeOfType
virtual bool attributeOfType(const std::string &attributeName, void *data, const std::type_info &typeInfo, const std::string &option) override
The actual method returning the attribute data given a name.
pool::Container::name
virtual const std::string & name() const override final
Returns the name of this container.
Definition
Container.h:34
pool::Container::~Container
virtual ~Container()=default
destructor
pool::Container::tokens
virtual ITokenIterator * tokens() override
Starts an iteration over the tokens in the container.
pool::Container::m_fileDescriptor
FileDescriptor & m_fileDescriptor
Reference to file descriptor of the parent database.
Definition
Container.h:68
pool::Container::technologySpecificAttributes
virtual const ITechnologySpecificAttributes & technologySpecificAttributes() const override final
Returns the object holding the technology specific attributes for a given technology domain.
Definition
Container.h:45
pool::Container::m_name
std::string m_name
The name of the container.
Definition
Container.h:65
pool::Container::technologySpecificAttributes
virtual ITechnologySpecificAttributes & technologySpecificAttributes() override final
Definition
Container.h:46
pool::Container::Container
Container(FileDescriptor &fileDescriptor, long technology, const std::string &name)
pool::FileDescriptor
Description:
Definition
FileDescriptor.h:40
pool::IContainer
IContainer is the base class for container objects.
Definition
IContainer.h:23
pool::ITechnologySpecificAttributes
ITechnologySpecificAttributes is the interface for an object holding technology-specific attributes.
Definition
ITechnologySpecificAttributes.h:22
pool::ITokenIterator
ITokenIterator is the interface class for iterators of tokens.
Definition
ITokenIterator.h:21
const
pool
Framework include files.
Definition
libname.h:15
Generated on
for ATLAS Offline Software by
1.17.0