BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MapIndexingPolicy< MAP > Class Template Reference

IndexingPolicy for std::map. More...

#include <AssociativeIndexingPolicies.h>

Inheritance diagram for MapIndexingPolicy< MAP >:

Public Types

typedef MAP::key_type index_type
typedef type_tools::Parameter< index_type >::const_type index_parm_type
typedef MAP::value_type value_type
typedef MAP::reference reference
typedef MAP::const_reference const_reference
typedef MAP::pointer pointer
typedef MAP::const_pointer const_pointer
typedef MAP::iterator iterator
typedef MAP::const_iterator const_iterator
typedef MAP::mapped_type mapped_type
typedef RemoveDataPtr< value_type >::type removedDataPtrPair_type
typedef removedDataPtrPair_typeElementPointer
typedef const ElementPointer ElementConstPointer
typedef removedDataPtrPair_typeElementReference
typedef const ElementReference ElementConstReference
typedef RemoveDataPtr< mapped_type >::type removedDataPtr_type
typedef type_tools::Parameter< removedDataPtr_type >::type ElementParameter
typedef MAP::key_type index_type
typedef type_tools::Parameter< index_type >::const_type index_parm_type
typedef MAP::value_type value_type
typedef MAP::reference reference
typedef MAP::const_reference const_reference
typedef MAP::pointer pointer
typedef MAP::const_pointer const_pointer
typedef MAP::iterator iterator
typedef MAP::const_iterator const_iterator
typedef MAP::mapped_type mapped_type
typedef RemoveDataPtr< value_type >::type removedDataPtrPair_type
typedef removedDataPtrPair_typeElementPointer
typedef const ElementPointer ElementConstPointer
typedef removedDataPtrPair_typeElementReference
typedef const ElementReference ElementConstReference
typedef RemoveDataPtr< mapped_type >::type removedDataPtr_type
typedef type_tools::Parameter< removedDataPtr_type >::type ElementParameter
typedef MAP::key_type index_type
typedef type_tools::Parameter< index_type >::const_type index_parm_type
typedef MAP::value_type value_type
typedef MAP::reference reference
typedef MAP::const_reference const_reference
typedef MAP::pointer pointer
typedef MAP::const_pointer const_pointer
typedef MAP::iterator iterator
typedef MAP::const_iterator const_iterator
typedef MAP::mapped_type mapped_type
typedef RemoveDataPtr< value_type >::type removedDataPtrPair_type
typedef removedDataPtrPair_typeElementPointer
typedef const ElementPointer ElementConstPointer
typedef removedDataPtrPair_typeElementReference
typedef const ElementReference ElementConstReference
typedef RemoveDataPtr< mapped_type >::type removedDataPtr_type
typedef type_tools::Parameter< removedDataPtr_type >::type ElementParameter
Public Types inherited from AssociativeIndexingPolicy< MAP >
typedef MAP::key_type index_type
typedef type_tools::Parameter< index_type >::const_type index_parm_type
typedef MAP::value_type value_type
typedef RemoveDataPtr< value_type >::type removedDataPtr_type
typedef removedDataPtr_typeElementPointer
typedef const ElementPointer ElementConstPointer
typedef removedDataPtr_typeElementReference
typedef const ElementReference ElementConstReference
typedef type_tools::Parameter< removedDataPtr_type >::type ElementParameter
typedef MAP::reference reference
typedef MAP::const_reference const_reference
typedef MAP::pointer pointer
typedef MAP::const_pointer const_pointer
typedef MAP::iterator iterator
typedef MAP::const_iterator const_iterator

Static Public Member Functions

static bool reverseLookup (const MAP &data, ElementParameter element, index_type &index)
static bool reverseLookup (const MAP &data, ElementParameter element, index_type &index)
static bool reverseLookup (const MAP &data, ElementParameter element, index_type &index)

Protected Member Functions

 MapIndexingPolicy ()
 MapIndexingPolicy (index_parm_type key)
 MapIndexingPolicy (const MAP &data, ElementParameter element)
void setIndex (index_parm_type key)
bool setIndex (const MAP &data, ElementParameter element)
 ~MapIndexingPolicy ()
 MapIndexingPolicy ()
 MapIndexingPolicy (index_parm_type key)
 MapIndexingPolicy (const MAP &data, ElementParameter element)
void setIndex (index_parm_type key)
bool setIndex (const MAP &data, ElementParameter element)
 ~MapIndexingPolicy ()
 MapIndexingPolicy ()
 MapIndexingPolicy (index_parm_type key)
 MapIndexingPolicy (const MAP &data, ElementParameter element)
void setIndex (index_parm_type key)
bool setIndex (const MAP &data, ElementParameter element)
 ~MapIndexingPolicy ()
Protected Member Functions inherited from AssociativeIndexingPolicy< MAP >
 AssociativeIndexingPolicy ()
 ~AssociativeIndexingPolicy ()
iterator lookup (MAP &data) const
void setIndex (index_parm_type key)

Additional Inherited Members

Public Member Functions inherited from AssociativeIndexingPolicy< MAP >
index_parm_type index () const
bool indexPut (OS &o) const
bool indexGet (IS &i)
Protected Attributes inherited from AssociativeIndexingPolicy< MAP >
index_type m_key

Detailed Description

template<class MAP>
class MapIndexingPolicy< MAP >

IndexingPolicy for std::map.

Author
Paolo Calafiura
Id
AssociativeIndexingPolicies.h,v 1.2 2003/04/16 01:32:53 calaf Exp

Definition at line 145 of file Event/GeneratorObject/include/DataModel/tools/AssociativeIndexingPolicies.h.

Member Typedef Documentation

◆ const_iterator [1/3]

template<class MAP>
typedef MAP::const_iterator MapIndexingPolicy< MAP >::const_iterator

◆ const_iterator [2/3]

template<class MAP>
typedef MAP::const_iterator MapIndexingPolicy< MAP >::const_iterator

◆ const_iterator [3/3]

template<class MAP>
typedef MAP::const_iterator MapIndexingPolicy< MAP >::const_iterator

◆ const_pointer [1/3]

template<class MAP>
typedef MAP::const_pointer MapIndexingPolicy< MAP >::const_pointer

◆ const_pointer [2/3]

template<class MAP>
typedef MAP::const_pointer MapIndexingPolicy< MAP >::const_pointer

◆ const_pointer [3/3]

template<class MAP>
typedef MAP::const_pointer MapIndexingPolicy< MAP >::const_pointer

◆ const_reference [1/3]

template<class MAP>
typedef MAP::const_reference MapIndexingPolicy< MAP >::const_reference

◆ const_reference [2/3]

template<class MAP>
typedef MAP::const_reference MapIndexingPolicy< MAP >::const_reference

◆ const_reference [3/3]

template<class MAP>
typedef MAP::const_reference MapIndexingPolicy< MAP >::const_reference

◆ ElementConstPointer [1/3]

template<class MAP>
typedef const ElementPointer MapIndexingPolicy< MAP >::ElementConstPointer

◆ ElementConstPointer [2/3]

template<class MAP>
typedef const ElementPointer MapIndexingPolicy< MAP >::ElementConstPointer

◆ ElementConstPointer [3/3]

template<class MAP>
typedef const ElementPointer MapIndexingPolicy< MAP >::ElementConstPointer

◆ ElementConstReference [1/3]

template<class MAP>
typedef const ElementReference MapIndexingPolicy< MAP >::ElementConstReference

◆ ElementConstReference [2/3]

template<class MAP>
typedef const ElementReference MapIndexingPolicy< MAP >::ElementConstReference

◆ ElementConstReference [3/3]

template<class MAP>
typedef const ElementReference MapIndexingPolicy< MAP >::ElementConstReference

◆ ElementParameter [1/3]

template<class MAP>
typedef type_tools::Parameter<removedDataPtr_type>::type MapIndexingPolicy< MAP >::ElementParameter

◆ ElementParameter [2/3]

template<class MAP>
typedef type_tools::Parameter<removedDataPtr_type>::type MapIndexingPolicy< MAP >::ElementParameter

◆ ElementParameter [3/3]

template<class MAP>
typedef type_tools::Parameter<removedDataPtr_type>::type MapIndexingPolicy< MAP >::ElementParameter

◆ ElementPointer [1/3]

template<class MAP>
typedef removedDataPtrPair_type* MapIndexingPolicy< MAP >::ElementPointer

◆ ElementPointer [2/3]

◆ ElementPointer [3/3]

◆ ElementReference [1/3]

template<class MAP>
typedef removedDataPtrPair_type& MapIndexingPolicy< MAP >::ElementReference

◆ ElementReference [2/3]

template<class MAP>
typedef removedDataPtrPair_type& MapIndexingPolicy< MAP >::ElementReference

◆ ElementReference [3/3]

template<class MAP>
typedef removedDataPtrPair_type& MapIndexingPolicy< MAP >::ElementReference

◆ index_parm_type [1/3]

template<class MAP>
typedef type_tools::Parameter<index_type>::const_type MapIndexingPolicy< MAP >::index_parm_type

◆ index_parm_type [2/3]

template<class MAP>
typedef type_tools::Parameter<index_type>::const_type MapIndexingPolicy< MAP >::index_parm_type

◆ index_parm_type [3/3]

template<class MAP>
typedef type_tools::Parameter<index_type>::const_type MapIndexingPolicy< MAP >::index_parm_type

◆ index_type [1/3]

template<class MAP>
typedef MAP::key_type MapIndexingPolicy< MAP >::index_type

◆ index_type [2/3]

template<class MAP>
typedef MAP::key_type MapIndexingPolicy< MAP >::index_type

◆ index_type [3/3]

template<class MAP>
typedef MAP::key_type MapIndexingPolicy< MAP >::index_type

◆ iterator [1/3]

template<class MAP>
typedef MAP::iterator MapIndexingPolicy< MAP >::iterator

◆ iterator [2/3]

template<class MAP>
typedef MAP::iterator MapIndexingPolicy< MAP >::iterator

◆ iterator [3/3]

template<class MAP>
typedef MAP::iterator MapIndexingPolicy< MAP >::iterator

◆ mapped_type [1/3]

template<class MAP>
typedef MAP::mapped_type MapIndexingPolicy< MAP >::mapped_type

◆ mapped_type [2/3]

template<class MAP>
typedef MAP::mapped_type MapIndexingPolicy< MAP >::mapped_type

◆ mapped_type [3/3]

template<class MAP>
typedef MAP::mapped_type MapIndexingPolicy< MAP >::mapped_type

◆ pointer [1/3]

template<class MAP>
typedef MAP::pointer MapIndexingPolicy< MAP >::pointer

◆ pointer [2/3]

template<class MAP>
typedef MAP::pointer MapIndexingPolicy< MAP >::pointer

◆ pointer [3/3]

template<class MAP>
typedef MAP::pointer MapIndexingPolicy< MAP >::pointer

◆ reference [1/3]

template<class MAP>
typedef MAP::reference MapIndexingPolicy< MAP >::reference

◆ reference [2/3]

template<class MAP>
typedef MAP::reference MapIndexingPolicy< MAP >::reference

◆ reference [3/3]

template<class MAP>
typedef MAP::reference MapIndexingPolicy< MAP >::reference

◆ removedDataPtr_type [1/3]

template<class MAP>
typedef RemoveDataPtr<mapped_type>::type MapIndexingPolicy< MAP >::removedDataPtr_type

◆ removedDataPtr_type [2/3]

template<class MAP>
typedef RemoveDataPtr<mapped_type>::type MapIndexingPolicy< MAP >::removedDataPtr_type

◆ removedDataPtr_type [3/3]

template<class MAP>
typedef RemoveDataPtr<mapped_type>::type MapIndexingPolicy< MAP >::removedDataPtr_type

◆ removedDataPtrPair_type [1/3]

template<class MAP>
typedef RemoveDataPtr<value_type>::type MapIndexingPolicy< MAP >::removedDataPtrPair_type

◆ removedDataPtrPair_type [2/3]

template<class MAP>
typedef RemoveDataPtr<value_type>::type MapIndexingPolicy< MAP >::removedDataPtrPair_type

◆ removedDataPtrPair_type [3/3]

template<class MAP>
typedef RemoveDataPtr<value_type>::type MapIndexingPolicy< MAP >::removedDataPtrPair_type

◆ value_type [1/3]

template<class MAP>
typedef MAP::value_type MapIndexingPolicy< MAP >::value_type

◆ value_type [2/3]

template<class MAP>
typedef MAP::value_type MapIndexingPolicy< MAP >::value_type

◆ value_type [3/3]

template<class MAP>
typedef MAP::value_type MapIndexingPolicy< MAP >::value_type

Constructor & Destructor Documentation

◆ MapIndexingPolicy() [1/9]

◆ MapIndexingPolicy() [2/9]

◆ MapIndexingPolicy() [3/9]

template<class MAP>
MapIndexingPolicy< MAP >::MapIndexingPolicy ( const MAP & data,
ElementParameter element )
inlineprotected

◆ ~MapIndexingPolicy() [1/3]

template<class MAP>
MapIndexingPolicy< MAP >::~MapIndexingPolicy ( )
inlineprotected

Definition at line 204 of file Event/GeneratorObject/include/DataModel/tools/AssociativeIndexingPolicies.h.

204{} // disallow accidental base class deletion

◆ MapIndexingPolicy() [4/9]

template<class MAP>
MapIndexingPolicy< MAP >::MapIndexingPolicy ( )
inlineprotected

◆ MapIndexingPolicy() [5/9]

template<class MAP>
MapIndexingPolicy< MAP >::MapIndexingPolicy ( index_parm_type key)
inlineprotected

◆ MapIndexingPolicy() [6/9]

template<class MAP>
MapIndexingPolicy< MAP >::MapIndexingPolicy ( const MAP & data,
ElementParameter element )
inlineprotected

◆ ~MapIndexingPolicy() [2/3]

template<class MAP>
MapIndexingPolicy< MAP >::~MapIndexingPolicy ( )
inlineprotected

Definition at line 204 of file InstallArea/x86_64-el9-gcc13-dbg/include/DataModel/tools/AssociativeIndexingPolicies.h.

204{} // disallow accidental base class deletion

◆ MapIndexingPolicy() [7/9]

template<class MAP>
MapIndexingPolicy< MAP >::MapIndexingPolicy ( )
inlineprotected

◆ MapIndexingPolicy() [8/9]

template<class MAP>
MapIndexingPolicy< MAP >::MapIndexingPolicy ( index_parm_type key)
inlineprotected

◆ MapIndexingPolicy() [9/9]

template<class MAP>
MapIndexingPolicy< MAP >::MapIndexingPolicy ( const MAP & data,
ElementParameter element )
inlineprotected

◆ ~MapIndexingPolicy() [3/3]

template<class MAP>
MapIndexingPolicy< MAP >::~MapIndexingPolicy ( )
inlineprotected

Definition at line 204 of file InstallArea/x86_64-el9-gcc13-opt/include/DataModel/tools/AssociativeIndexingPolicies.h.

204{} // disallow accidental base class deletion

Member Function Documentation

◆ reverseLookup() [1/3]

template<class MAP>
bool MapIndexingPolicy< MAP >::reverseLookup ( const MAP & data,
ElementParameter element,
index_type & index )
inlinestatic

Definition at line 171 of file Event/GeneratorObject/include/DataModel/tools/AssociativeIndexingPolicies.h.

171 {
172 // compiler checks we can compare elements
175 const_iterator it = data.begin();
176 const_iterator end = data.end();
177 while ( it != end && !( it->second == element ) ) { ++it; }
178 if ( it != end )
179 {
180 index = it->first;
181 return true;
182 }
183 else
184 {
185#ifndef NDEBUG
186 std::cerr << __FILE__ << ':' << __LINE__ << ": "
187 << "MapIndexingPolicy::reverseLookup ERROR: element not found" << std::endl;
188#endif
189 return false;
190 }
191 }

Referenced by MapIndexingPolicy< std::map< KEY, ELEM > >::MapIndexingPolicy(), and MapIndexingPolicy< std::map< KEY, ELEM > >::setIndex().

◆ reverseLookup() [2/3]

template<class MAP>
bool MapIndexingPolicy< MAP >::reverseLookup ( const MAP & data,
ElementParameter element,
index_type & index )
inlinestatic

Definition at line 171 of file InstallArea/x86_64-el9-gcc13-dbg/include/DataModel/tools/AssociativeIndexingPolicies.h.

171 {
172 // compiler checks we can compare elements
175 const_iterator it = data.begin();
176 const_iterator end = data.end();
177 while ( it != end && !( it->second == element ) ) { ++it; }
178 if ( it != end )
179 {
180 index = it->first;
181 return true;
182 }
183 else
184 {
185#ifndef NDEBUG
186 std::cerr << __FILE__ << ':' << __LINE__ << ": "
187 << "MapIndexingPolicy::reverseLookup ERROR: element not found" << std::endl;
188#endif
189 return false;
190 }
191 }

◆ reverseLookup() [3/3]

template<class MAP>
bool MapIndexingPolicy< MAP >::reverseLookup ( const MAP & data,
ElementParameter element,
index_type & index )
inlinestatic

Definition at line 171 of file InstallArea/x86_64-el9-gcc13-opt/include/DataModel/tools/AssociativeIndexingPolicies.h.

171 {
172 // compiler checks we can compare elements
175 const_iterator it = data.begin();
176 const_iterator end = data.end();
177 while ( it != end && !( it->second == element ) ) { ++it; }
178 if ( it != end )
179 {
180 index = it->first;
181 return true;
182 }
183 else
184 {
185#ifndef NDEBUG
186 std::cerr << __FILE__ << ':' << __LINE__ << ": "
187 << "MapIndexingPolicy::reverseLookup ERROR: element not found" << std::endl;
188#endif
189 return false;
190 }
191 }

◆ setIndex() [1/6]

template<class MAP>
bool MapIndexingPolicy< MAP >::setIndex ( const MAP & data,
ElementParameter element )
inlineprotected

◆ setIndex() [2/6]

template<class MAP>
bool MapIndexingPolicy< MAP >::setIndex ( const MAP & data,
ElementParameter element )
inlineprotected

◆ setIndex() [3/6]

template<class MAP>
bool MapIndexingPolicy< MAP >::setIndex ( const MAP & data,
ElementParameter element )
inlineprotected

◆ setIndex() [4/6]

template<class MAP>
void MapIndexingPolicy< MAP >::setIndex ( index_parm_type key)
inlineprotected

Definition at line 200 of file Event/GeneratorObject/include/DataModel/tools/AssociativeIndexingPolicies.h.

200{ m_key = key; } // FIXME why this isn't inherited?

◆ setIndex() [5/6]

template<class MAP>
void MapIndexingPolicy< MAP >::setIndex ( index_parm_type key)
inlineprotected

Definition at line 200 of file InstallArea/x86_64-el9-gcc13-dbg/include/DataModel/tools/AssociativeIndexingPolicies.h.

200{ m_key = key; } // FIXME why this isn't inherited?

◆ setIndex() [6/6]

template<class MAP>
void MapIndexingPolicy< MAP >::setIndex ( index_parm_type key)
inlineprotected

Definition at line 200 of file InstallArea/x86_64-el9-gcc13-opt/include/DataModel/tools/AssociativeIndexingPolicies.h.

200{ m_key = key; } // FIXME why this isn't inherited?

The documentation for this class was generated from the following files: