6#ifndef DOUBLEACCESSOBJECTTOIDMAP_H
7#define DOUBLEACCESSOBJECTTOIDMAP_H
19template<
typename Object>
22 bool operator()(
const Object* o1,
const Object* o2)
const {
36template<
typename Object,
typename Id>
40 typedef std::map<const Object*,Id,CompareObjectPtr<Object> >
AccessMap;
53 const Object&
get(
const Id&)
const;
54 const Id&
get(
const Object&)
const;
80 {
return m_accessMap; }
82 {
return m_reverseAccessMap; }
104#include "DoubleAccessObjectToIdMap.tcc"
bool operator()(const Object *o1, const Object *o2) const
storage for double access: from object to id and from id to object : id must be integer.
Id & operator[](const Object &)
Object & operator[](const Id &)
Id insert(const Object &)
insert an object if not already inserted
bool hasValue(const Object &) const
virtual ~DoubleAccessObjectToIdMap()
std::map< const Object *, Id, CompareObjectPtr< Object > > AccessMap
DoubleAccessObjectToIdMap()
std::vector< const Object * > ReverseAccessMap
const Id & get(const Object &) const
bool hasId(const Id &) const
const ReverseAccessMap & getReverseAccessMap() const
const AccessMap & getAccessMap() const
const Object & get(const Id &) const