ATLAS Offline Software
Loading...
Searching...
No Matches
ICollectionCursor.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_ICOLLECTIONCURSOR_H
6#define COLLECTIONSVC_ICOLLECTIONCURSOR_H
7
8#include <cstddef>
9
10class Token;
11
12namespace pool {
13
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
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition Token.h:21
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.
virtual bool next()=0
Advances the cursor to the next row of the query result set.
virtual const Token & eventRef() const =0
Returns the event reference Token for the current row.
virtual std::size_t size()=0
Returns the size of the collection.
virtual const pool::CollectionRowBuffer & currentRow() const =0
Returns the selected Tokens and Attributes for the current row of the query result set.
virtual bool seek(std::size_t position)=0
Seek to a given position in the collection.
virtual void close()=0
Cleanup.
virtual ~ICollectionCursor()
Empty destructor.
pool namespace
Definition libname.h:15