ATLAS Offline Software
Loading...
Searching...
No Matches
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
11
12namespace pool {
13
14 // forward declarations
15 class FileDescriptor;
16
17 namespace PersistencySvc {
18
24
25 class Container : virtual public IContainer,
26 virtual public ITechnologySpecificAttributes {
27 public:
28 Container( FileDescriptor& fileDescriptor,
29 long technology,
30 const std::string& name );
31
33 virtual ~Container() = default;
34
36 virtual const std::string& name() const override final { return m_name; }
37
39 virtual long technology() const override final { return m_technology; }
40
44 virtual ITokenIterator* tokens() override;
45
47 virtual const ITechnologySpecificAttributes& technologySpecificAttributes() const override final { return *this; }
48 virtual ITechnologySpecificAttributes& technologySpecificAttributes() override final { return *this; }
49
50 protected:
52 virtual
53 bool attributeOfType( const std::string& attributeName,
54 void* data,
55 const std::type_info& typeInfo,
56 const std::string& option ) override;
57
59 virtual
60 bool setAttributeOfType( const std::string& attributeName,
61 const void* data,
62 const std::type_info& typeInfo,
63 const std::string& option ) override;
64
65 private:
67 std::string m_name;
68
71
74 };
75 }
76}
77
78#endif
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
IContainer is the base class for container objects.
Definition IContainer.h:23
ITechnologySpecificAttributes is the interface for an object holding technology-specific attributes.
ITokenIterator is the interface class for iterators of tokens.
Container(FileDescriptor &fileDescriptor, long technology, const std::string &name)
virtual ITechnologySpecificAttributes & technologySpecificAttributes() override final
Definition Container.h:48
FileDescriptor & m_fileDescriptor
Reference to file descriptor of the parent database.
Definition Container.h:70
virtual long technology() const override final
Returns the technology identifier for this container.
Definition Container.h:39
std::string m_name
The name of the container.
Definition Container.h:67
virtual ITokenIterator * tokens() override
Starts an iteration over the tokens in the container.
virtual const std::string & name() const override final
Returns the name of this container.
Definition Container.h:36
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.
long m_technology
The technology identifier.
Definition Container.h:73
virtual ~Container()=default
destructor
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.
virtual const ITechnologySpecificAttributes & technologySpecificAttributes() const override final
Returns the object holding the technology specific attributes for a given technology domain.
Definition Container.h:47
Framework include files.
Definition libname.h:15