13#ifndef STOREGATE_SGITERATOR_H
14#define STOREGATE_SGITERATOR_H
22#include <boost/iterator/iterator_facade.hpp>
43 friend class ::SGImplSvc;
129 const std::string&
key()
const;
160 public boost::iterator_facade<
163 boost::forward_traversal_tag >
226 public boost::iterator_facade<
229 boost::forward_traversal_tag >
Exceptions that can be thrown from StoreGate.
Helpers for retrieving the payload held by a DataProxy.
The Athena Transient Store API.
ConstIterator()
Default constructor.
const DATA & dereference() const
Dereference the iterator.
friend class boost::iterator_core_access
ConstIterator(const SG::ConstProxyIterator &itr, const SG::ConstProxyIterator &itrEnd)
Constructor from proxy iterator pair.
StatusCode setState(const SG::ConstProxyIterator &itr, const SG::ConstProxyIterator &itrEnd)
Reset state of the iterator.
bool equal(const ConstIterator &rhs) const
Equality check.
Iterator()
Default constructor.
Iterator(const SG::ConstProxyIterator &itr, const SG::ConstProxyIterator &itrEnd)
Constructor from proxy iterator pair.
friend class boost::iterator_core_access
bool equal(const Iterator< DATA > &rhs) const
Equality check.
DATA & dereference() const
Dereference the iterator.
StatusCode setState(const SG::ConstProxyIterator &itr, const SG::ConstProxyIterator &itrEnd)
Reset state of the iterator.
Implementation class, not to be used directly Iterates over valid proxies it the range.
std::vector< SG::DataProxy * > m_proxies
All proxies in our range, in reverse order.
const std::string & key() const
Get the key string with which the current object was stored.
DataProxy * proxy() const
The proxy pointed at by this iterator.
void increment()
Move to the next valid proxy.
~IteratorBase()
Destructor.
IteratorBase & operator=(const IteratorBase &other)
Assignment.
void const_check() const
Const check: throw an exception if we're pointing at a const proxy.
IteratorBase()
Default constructor.
void release()
Remove a reference count from all proxies in our range.
friend class boost::iterator_core_access
StatusCode setState(SG::ConstProxyIterator itr, SG::ConstProxyIterator itrEnd, bool isConst)
Reset state of the iterator.
bool eql(const IteratorBase &rhs) const
Equality check.
void addRef()
Add a reference count to all proxies in our range.
ProxyMap::const_iterator ConstProxyIterator