ATLAS Offline Software
Loading...
Searching...
No Matches
IContainer.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 POOLSVC_ICONTAINER_H
6#define POOLSVC_ICONTAINER_H
7
8// includes
9#include <string>
10#include <typeinfo>
11
12namespace pool {
13
14 // forward declarations
15 class ITokenIterator;
16
22
23 class IContainer {
24 public:
26 virtual const std::string& name() const = 0;
27
31 virtual ITokenIterator* tokens() = 0;
32
34 virtual bool attributeOfType( const std::string& attributeName,
35 void* data,
36 const std::type_info& typeInfo,
37 const std::string& option ) = 0;
38
40 virtual bool setAttributeOfType( const std::string& attributeName,
41 const void* data,
42 const std::type_info& typeInfo,
43 const std::string& option ) = 0;
44
46 virtual ~IContainer() = default;
47 };
48}
49
50#endif
IContainer is the base class for container objects.
Definition IContainer.h:23
virtual ~IContainer()=default
Virtual destructor for the interface.
virtual ITokenIterator * tokens()=0
Starts an iteration over the tokens in the container.
virtual bool attributeOfType(const std::string &attributeName, void *data, const std::type_info &typeInfo, const std::string &option)=0
The method returning the attribute data given a name.
virtual const std::string & name() const =0
Returns the name of this container.
virtual bool setAttributeOfType(const std::string &attributeName, const void *data, const std::type_info &typeInfo, const std::string &option)=0
The method setting the attribute data given a name.
ITokenIterator is the interface class for iterators of tokens.
Framework include files.
Definition libname.h:15