ATLAS Offline Software
ImplicitCollectionIterator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef IMPLICITCOLLECTION_COLLECTIONITERATOR_H
6 #define IMPLICITCOLLECTION_COLLECTIONITERATOR_H
7 
10 
12 
13 class Token;
14 
15 namespace coral { class AttributeList; }
16 
17 namespace pool {
18 
19  // forward declarations
20  class IContainer;
21  class ITokenIterator;
22  class TokenList;
23  class ICollectionDescription;
24 
32  {
33  public:
37 
38  // ------------------- Cursor interface
39 
43  virtual bool next();
44 
46  virtual Token* token() const;
47  virtual const Token& eventRef() const { return *token(); }
48 
49  virtual const CollectionRowBuffer& currentRow() const;
50 
51  // ------------------- Seek interface
57  virtual bool seek(std::size_t position);
58 
62  virtual std::size_t size();
63 
64 
65  //------------------------------------------
66 
69 
70 
71  // ------------------- Unimplemented methods
72 
73  virtual void close() {}
74 
75 
76  protected:
80 
82  };
83 
84 }
85 
86 #endif
pool::IContainer
Definition: IContainer.h:23
pool::ImplicitCollectionIterator::currentRow
virtual const CollectionRowBuffer & currentRow() const
Returns the selected Tokens and Attributes for the current row of the query result set.
pool::ImplicitCollectionIterator::next
virtual bool next()
Retrieves the next token in the collection.
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
pool::ImplicitCollectionIterator::m_tokenIterator
ITokenIterator * m_tokenIterator
Definition: ImplicitCollectionIterator.h:78
pool::ImplicitCollectionIterator::token
virtual Token * token() const
Returns the token of the current position.
ICollectionCursor.h
pool
pool namespace
Definition: libname.h:15
pool::ImplicitCollectionIterator::m_rowBuffer
CollectionRowBuffer m_rowBuffer
Definition: ImplicitCollectionIterator.h:81
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition: Token.h:21
coral
Definition: ISecondaryEventSelector.h:19
pool::ImplicitCollectionIterator::size
virtual std::size_t size()
Return the size of the collection.
CollectionRowBuffer.h
pool::ImplicitCollectionIterator::m_container
IContainer & m_container
Definition: ImplicitCollectionIterator.h:77
pool::ImplicitCollectionIterator
Definition: ImplicitCollectionIterator.h:32
pool::ImplicitCollectionIterator::m_token
Token * m_token
Definition: ImplicitCollectionIterator.h:79
pool::ICollectionCursor
Definition: ICollectionCursor.h:22
pool::ITokenIterator
Definition: ITokenIterator.h:21
pool::CollectionRowBuffer
Definition: CollectionRowBuffer.h:31
pool::ImplicitCollectionIterator::close
virtual void close()
Cleanup.
Definition: ImplicitCollectionIterator.h:73
pool::ImplicitCollectionIterator::ImplicitCollectionIterator
ImplicitCollectionIterator(IContainer &container, const pool::ICollectionDescription &description)
Constructor.
pool::ImplicitCollectionIterator::~ImplicitCollectionIterator
virtual ~ImplicitCollectionIterator()
Destructor.
pool::ImplicitCollectionIterator::seek
virtual bool seek(std::size_t position)
Seek to a given position in the collection.
pool::ImplicitCollectionIterator::eventRef
virtual const Token & eventRef() const
Returns the event reference Token for the current row.
Definition: ImplicitCollectionIterator.h:47
checker_macros.h
Define macros for attributes used to control the static checker.
pool::ICollectionDescription
Definition: ICollectionDescription.h:23
description
std::string description
glabal timer - how long have I taken so far?
Definition: hcg.cxx:91