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
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
69
72 };
73}
74
75#endif
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
virtual long technology() const override final
Returns the technology identifier for this container.
Definition Container.h:37
long m_technology
The technology identifier.
Definition Container.h:71
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 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.
virtual const std::string & name() const override final
Returns the name of this container.
Definition Container.h:34
virtual ~Container()=default
destructor
virtual ITokenIterator * tokens() override
Starts an iteration over the tokens in the container.
FileDescriptor & m_fileDescriptor
Reference to file descriptor of the parent database.
Definition Container.h:68
virtual const ITechnologySpecificAttributes & technologySpecificAttributes() const override final
Returns the object holding the technology specific attributes for a given technology domain.
Definition Container.h:45
std::string m_name
The name of the container.
Definition Container.h:65
virtual ITechnologySpecificAttributes & technologySpecificAttributes() override final
Definition Container.h:46
Container(FileDescriptor &fileDescriptor, long technology, const std::string &name)
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.
Framework include files.
Definition libname.h:15