16#ifndef ATHLINKS_MAPINDEXINGPOLICY_H
17#define ATHLINKS_MAPINDEXINGPOLICY_H
26#include "GaudiKernel/MsgStream.h"
50template <CxxUtils::detail::PairAssociativeContainer MAP>
124template <
typename KEY,
typename ELEM>
Exceptions that can be thrown from AthLinks.
char data[hepevt_bytes_allocation_ATLAS]
Store an ElementLink index for non-vector containers.
Store an ElementLink index for non-vector containers.
Indexing policy for a map-like container.
MAP::key_type index_type
The type of an index, as provided to or returned from a link.
SG::IndexHolder< index_type > stored_index_type
The type of an index, as stored internally within a link.
type_tools::Copy< mapped_type >::type ElementType
The type we get when we dereference a link, and derived types.
MAP::const_iterator const_iterator
type_tools::Copy< mapped_type >::const_reference ElementConstReference
static index_type storedToExternal(stored_index_type index)
Convert from stored to external index types.
static ElementType lookup(const stored_index_type &index, const MAP &data)
Retrieve from a container the element corresponding to an index.
static void reverseLookup(const MAP &data, ElementConstReference element, index_type &index)
Find the index of the (first) instance of ELEMENT in DATA.
static bool isValid(const stored_index_type &index)
Test to see if an index is valid.
static void reset(stored_index_type &index)
Make an index invalid.
MAP::mapped_type mapped_type
type_tools::Copy< mapped_type >::const_pointer ElementConstPointer
A couple standard-library related concepts.
singleton-like access to IMessageSvc via open function and helper
SG::MapIndexingPolicy< std::map< KEY, ELEM > > type