ATLAS Offline Software
ICollectionCursor.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef COLLECTIONBASE_ICOLLECTIONCURSOR_H
6 #define COLLECTIONBASE_ICOLLECTIONCURSOR_H
7 
8 #include <cstddef>
9 
10 class Token;
11 
12 namespace pool {
13 
14  class CollectionRowBuffer;
15 
22  {
23  public:
25  virtual std::size_t size() = 0;
26 
28  virtual bool seek(std::size_t position) = 0;
29 
31  virtual bool next() = 0;
32 
34  virtual const pool::CollectionRowBuffer& currentRow() const = 0;
35 
37  virtual const Token& eventRef() const = 0;
38 
40  virtual void close() = 0;
41 
42 // protected: // MN: why protected?
44  virtual ~ICollectionCursor() {}
45  };
46 
47 }
48 
49 #endif
50 
51 
pool
pool namespace
Definition: libname.h:15
pool::ICollectionCursor::next
virtual bool next()=0
Advances the cursor to the next row of the query result set.
pool::ICollectionCursor::seek
virtual bool seek(std::size_t position)=0
Seek to a given position in the collection.
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition: Token.h:21
pool::ICollectionCursor::~ICollectionCursor
virtual ~ICollectionCursor()
Empty destructor.
Definition: ICollectionCursor.h:44
pool::ICollectionCursor::currentRow
virtual const pool::CollectionRowBuffer & currentRow() const =0
Returns the selected Tokens and Attributes for the current row of the query result set.
pool::ICollectionCursor
Definition: ICollectionCursor.h:22
pool::CollectionRowBuffer
Definition: CollectionRowBuffer.h:31
pool::ICollectionCursor::size
virtual std::size_t size()=0
Returns the size of the collection.
pool::ICollectionCursor::close
virtual void close()=0
Cleanup.
pool::ICollectionCursor::eventRef
virtual const Token & eventRef() const =0
Returns the event reference Token for the current row.