ATLAS Offline Software
Loading...
Searching...
No Matches
ImplicitCollection.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef COLLECTIONSVC_IMPLICITCOLLECTION_H
6#define COLLECTIONSVC_IMPLICITCOLLECTION_H
7
11#include "POOLCore/DbPrint.h"
12
14#include "Gaudi/PluginService.h"
15
16namespace pool {
17
18 // forward declarations
19 class ISession;
20 class IContainer;
21 class ICollectionQuery;
22 class ICollectionIterator;
24
27 // ^ due to not thread-safe ImplicitCollectionIterator
28 {
29 public:
30 typedef Gaudi::PluginService::Factory<ICollection*( const CollectionDescription*, ICollection::OpenMode, ISession*)> Factory;
31
36 ISession* session );
37
40
42 ImplicitCollection& operator= (const ImplicitCollection&) = delete;
43
45 virtual void insertRow( const pool::CollectionRowBuffer& inputRowBuffer ) override;
46
48 void commit(bool reopen=false) override;
49
51 void close() override;
52
54 void open() override;
55
57 virtual const CollectionDescription& description() const override;
58
60 virtual ICollectionCursor& cursor() final override;
61
63 void open( ICollection::OpenMode mode, ISession* session );
64
65 private:
68
70 };
71}
72
73#endif
#define protected
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
APRMessaging(const std::string &name)
An implementation used to define the properties of a collection to be constructed and to retrieve the...
A class that acts as a buffer to be filled with the event reference and associated metadata values of...
An interface used to navigate the result of a query on a collection.
An interface to a storage technology specific collection of event references and attributes.
Definition ICollection.h:23
OpenMode
Enumeration of the possible open modes of the collection.
Definition ICollection.h:26
IContainer is the base class for container objects.
Definition IContainer.h:23
ISession is the interface class for user (macroscopic) sessions Every transaction and connection to a...
Definition ISession.h:32
Iterator over an implicit collection.
virtual const CollectionDescription & description() const override
Returns an object used to describe the collection properties.
void open() override
no-op at the moment
ImplicitCollection(const CollectionDescription *description, ICollection::OpenMode mode, ISession *session)
Constructor compying to the new Collections API parameters as above, but name and connection passed i...
virtual void insertRow(const pool::CollectionRowBuffer &inputRowBuffer) override
Adds a new row of data to the collection. Will always throw exception.
ImplicitCollection(const ImplicitCollection &)=delete
Gaudi::PluginService::Factory< ICollection *(const CollectionDescription *, ICollection::OpenMode, ISession *)> Factory
IContainer * m_container
The underlying container handle.
virtual ICollectionCursor & cursor() final override
Returns a cursor for the collection.
~ImplicitCollection()
Destructor.
void close() override
no-op at the moment
CollectionDescription m_description
void commit(bool reopen=false) override
Commits the last changes made to the collection. Will always return true.
pool namespace
Definition libname.h:15
#define private