1#ifndef DATAMODEL_TOOLS_ASSOCIATIVEINDEXINGPOLICIES_H
2#define DATAMODEL_TOOLS_ASSOCIATIVEINDEXINGPOLICIES_H
11#ifndef BOOST_CONCEPT_CHECKS_HPP
12# include <boost/concept_check.hpp>
15#ifndef DATAMODEL_TOOLS_REMOVEDATAPTR_H
16# include "DataModel/tools/RemoveDataPtr.h"
19#ifndef ATHENAKERNEL_TOOLS_TYPE_TOOLS_H
20# include "AthenaKernel/tools/type_tools.h"
23using ::boost::AssociativeContainerConcept;
24using ::boost::PairAssociativeContainerConcept;
25using ::boost::SimpleAssociativeContainerConcept;
35 BOOST_CLASS_REQUIRES( ASS, AssociativeContainerConcept );
56 template <
class OS>
bool indexPut( OS& o )
const {
58 return ( o <<
m_key ).good();
62 return ( i >>
m_key ).good();
86 BOOST_CLASS_REQUIRES( SET, SimpleAssociativeContainerConcept );
108 ::boost::function_requires<
109 typename ::boost::EqualityComparableConcept<removedDataPtr_type>>();
110 if (
data.end() !=
data.find( element ) )
118 std::cerr << __FILE__ <<
':' << __LINE__ <<
": "
119 <<
"SetIndexingPolicy::reverseLookup ERROR: element not found" << std::endl;
147 BOOST_CLASS_REQUIRES( MAP, PairAssociativeContainerConcept );
173 ::boost::function_requires<
174 typename ::boost::EqualityComparableConcept<removedDataPtr_type>>();
177 while ( it != end && !( it->second == element ) ) { ++it; }
186 std::cerr << __FILE__ <<
':' << __LINE__ <<
": "
187 <<
"MapIndexingPolicy::reverseLookup ERROR: element not found" << std::endl;
*************DOUBLE PRECISION m_pi *DOUBLE PRECISION m_HvecTau2 DOUBLE PRECISION m_HvClone2 DOUBLE PRECISION m_gamma1 DOUBLE PRECISION m_gamma2 DOUBLE PRECISION m_thet1 DOUBLE PRECISION m_thet2 INTEGER m_IFPHOT *COMMON c_Taupair $ !Spin Polarimeter vector first Tau $ !Spin Polarimeter vector second Tau $ !Clone Spin Polarimeter vector first Tau $ !Clone Spin Polarimeter vector second Tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning nd tau $ !Random Euler angle for cloning nd tau $ !Random Euler angle for cloning nd tau $ !phi of HvecTau1 $ !theta of HvecTau1 $ !phi of HvecTau2 $ !theta of HvecTau2 $ !super key
ASS::value_type value_type
RemoveDataPtr< value_type >::type removedDataPtr_type
ASS::const_pointer const_pointer
iterator lookup(ASS &data) const
const_iterator lookup(const ASS &data) const
void setIndex(index_parm_type key)
bool indexPut(OS &o) const
~AssociativeIndexingPolicy()
const ElementReference ElementConstReference
index_parm_type index() const
AssociativeIndexingPolicy(index_parm_type key)
type_tools::Parameter< index_type >::const_type index_parm_type
AssociativeIndexingPolicy()
ASS::const_iterator const_iterator
removedDataPtr_type * ElementPointer
ASS::const_reference const_reference
type_tools::Parameter< removedDataPtr_type >::type ElementParameter
removedDataPtr_type & ElementReference
const ElementPointer ElementConstPointer
MAP::const_reference const_reference
const ElementReference ElementConstReference
removedDataPtrPair_type & ElementReference
MapIndexingPolicy(const MAP &data, ElementParameter element)
MAP::const_pointer const_pointer
void setIndex(index_parm_type key)
MAP::const_iterator const_iterator
RemoveDataPtr< value_type >::type removedDataPtrPair_type
const ElementPointer ElementConstPointer
type_tools::Parameter< index_type >::const_type index_parm_type
MapIndexingPolicy(index_parm_type key)
RemoveDataPtr< mapped_type >::type removedDataPtr_type
MAP::mapped_type mapped_type
bool setIndex(const MAP &data, ElementParameter element)
removedDataPtrPair_type * ElementPointer
MAP::value_type value_type
static bool reverseLookup(const MAP &data, ElementParameter element, index_type &index)
type_tools::Parameter< removedDataPtr_type >::type ElementParameter
SetIndexingPolicy(const_reference data, ElementParameter element)
type_tools::Parameter< index_type >::const_type index_parm_type
void setIndex(index_parm_type key)
SET::const_iterator const_iterator
const ElementPointer ElementConstPointer
SetIndexingPolicy(index_parm_type key)
SET::value_type value_type
type_tools::Parameter< removedDataPtr_type >::type ElementParameter
removedDataPtr_type & ElementReference
bool setIndex(const SET &data, ElementParameter element)
SET::const_reference const_reference
const ElementReference ElementConstReference
SET::const_pointer const_pointer
static bool reverseLookup(const SET &data, ElementParameter element, index_type &same)
RemoveDataPtr< value_type >::type removedDataPtr_type
removedDataPtr_type * ElementPointer