CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Static Public Member Functions | Private Types
edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef > Class Template Reference

#include <OneToOneGeneric.h>

Public Types

typedef ValRef data_type
 insert val type More...
 
typedef index index_type
 index type More...
 
typedef KeyRef key_type
 insert key type More...
 
typedef std::map< index_type,
map_assoc
map_type
 map type More...
 
typedef helpers::KeyVal
< keyrefprod_type,
valrefprod_type
ref_type
 reference set type More...
 
typedef std::vector< typename
CKey::value_type const * > 
transient_key_vector
 transient key vector More...
 
typedef std::map< typename
CKey::value_type const
*, typename CVal::value_type
const * > 
transient_map_type
 transient map type More...
 
typedef std::vector< typename
CVal::value_type const * > 
transient_val_vector
 transient val vector More...
 
typedef ValRef val_type
 values reference collection type More...
 

Static Public Member Functions

static void insert (ref_type &ref, map_type &m, key_type const &k, data_type const &v)
 insert in the map More...
 
static map_type::size_type size (map_assoc const &)
 size of data_type More...
 
static void sort (map_type &)
 sort More...
 
static transient_key_vector transientKeyVector (ref_type const &ref, map_type const &map)
 fill transient key vector More...
 
static transient_map_type transientMap (ref_type const &ref, map_type const &map)
 fill transient map More...
 
static transient_val_vector transientValVector (ref_type const &ref, map_type const &map)
 fill transient val vector More...
 
static val_type val (ref_type const &ref, map_assoc iv)
 return values collection More...
 

Private Types

typedef KeyRefProd keyrefprod_type
 reference to "key" collection More...
 
typedef index map_assoc
 internal map associated data More...
 
typedef ValRefProd valrefprod_type
 reference to "value" collection More...
 

Detailed Description

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
class edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >

Definition at line 15 of file OneToOneGeneric.h.

Member Typedef Documentation

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
typedef ValRef edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::data_type

insert val type

Definition at line 29 of file OneToOneGeneric.h.

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
typedef index edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::index_type

index type

Definition at line 31 of file OneToOneGeneric.h.

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
typedef KeyRef edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::key_type

insert key type

Definition at line 27 of file OneToOneGeneric.h.

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
typedef KeyRefProd edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::keyrefprod_type
private

reference to "key" collection

Definition at line 17 of file OneToOneGeneric.h.

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
typedef index edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::map_assoc
private

internal map associated data

Definition at line 21 of file OneToOneGeneric.h.

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
typedef std::map<index_type, map_assoc> edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::map_type

map type

Definition at line 33 of file OneToOneGeneric.h.

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
typedef helpers::KeyVal<keyrefprod_type, valrefprod_type> edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::ref_type

reference set type

Definition at line 35 of file OneToOneGeneric.h.

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
typedef std::vector<typename CKey::value_type const*> edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::transient_key_vector

transient key vector

Definition at line 40 of file OneToOneGeneric.h.

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
typedef std::map<typename CKey::value_type const*, typename CVal::value_type const*> edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::transient_map_type

transient map type

Definition at line 38 of file OneToOneGeneric.h.

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
typedef std::vector<typename CVal::value_type const*> edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::transient_val_vector

transient val vector

Definition at line 42 of file OneToOneGeneric.h.

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
typedef ValRef edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::val_type

values reference collection type

Definition at line 25 of file OneToOneGeneric.h.

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
typedef ValRefProd edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::valrefprod_type
private

reference to "value" collection

Definition at line 19 of file OneToOneGeneric.h.

Member Function Documentation

template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
static void edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::insert ( ref_type ref,
map_type m,
key_type const &  k,
data_type const &  v 
)
inlinestatic

insert in the map

Definition at line 44 of file OneToOneGeneric.h.

Referenced by BeautifulSoup.PageElement::_invert().

45  {
46  if(k.isNull() || v.isNull()) {
48  "can't insert null references in AssociationMap");
49  }
50  if(ref.key.isNull()) {
51  ref.key = keyrefprod_type(k);
52  ref.val = valrefprod_type(v);
53  }
54  helpers::checkRef(ref.key, k); helpers::checkRef(ref.val, v);
55  index_type ik = index_type(k.key()), iv = index_type(v.key());
56  m[ik] = iv;
57  }
KeyRefProd keyrefprod_type
reference to &quot;key&quot; collection
ValRefProd valrefprod_type
reference to &quot;value&quot; collection
static void throwThis(Code category, char const *message0="", char const *message1="", char const *message2="", char const *message3="", char const *message4="")
index index_type
index type
void checkRef(const RP &rp, const R &r)
throw if r hasn&#39;t the same id as rp
template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
static map_type::size_type edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::size ( map_assoc const &  )
inlinestatic

size of data_type

Definition at line 63 of file OneToOneGeneric.h.

63 { return 1; }
template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
static void edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::sort ( map_type )
inlinestatic

sort

Definition at line 65 of file OneToOneGeneric.h.

65 { }
template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
static transient_key_vector edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::transientKeyVector ( ref_type const &  ref,
map_type const &  map 
)
inlinestatic

fill transient key vector

Definition at line 79 of file OneToOneGeneric.h.

79  {
81  CKey const& ckey = *ref.key;
82  for(typename map_type::const_iterator i = map.begin(); i != map.end(); ++i)
83  m.push_back(& ckey[i->first]);
84  return m;
85  }
int i
Definition: DBlmapReader.cc:9
std::vector< typename CKey::value_type const * > transient_key_vector
transient key vector
template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
static transient_map_type edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::transientMap ( ref_type const &  ref,
map_type const &  map 
)
inlinestatic

fill transient map

Definition at line 67 of file OneToOneGeneric.h.

67  {
69  CKey const& ckey = *ref.key;
70  CVal const& cval = *ref.val;
71  for(typename map_type::const_iterator i = map.begin(); i != map.end(); ++i) {
72  typename CKey::value_type const* k = &ckey[i->first];
73  typename CVal::value_type const* v = & cval[i->second];
74  m.insert(std::make_pair(k, v));
75  }
76  return m;
77  }
int i
Definition: DBlmapReader.cc:9
std::map< typename CKey::value_type const *, typename CVal::value_type const * > transient_map_type
transient map type
Container::value_type value_type
template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
static transient_val_vector edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::transientValVector ( ref_type const &  ref,
map_type const &  map 
)
inlinestatic

fill transient val vector

Definition at line 87 of file OneToOneGeneric.h.

87  {
89  CVal const& cval = *ref.val;
90  for(typename map_type::const_iterator i = map.begin(); i != map.end(); ++i) {
91  m.push_back(& cval[i->second]);
92  }
93  return m;
94  }
int i
Definition: DBlmapReader.cc:9
std::vector< typename CVal::value_type const * > transient_val_vector
transient val vector
template<typename CKey, typename CVal, typename index = unsigned int, typename KeyRefProd = typename helper::MapRefViewTrait<CKey>::refprod_type, typename ValRefProd = typename helper::MapRefViewTrait<CVal>::refprod_type, typename KeyRef = typename helper::MapRefViewTrait<CKey>::ref_type, typename ValRef = typename helper::MapRefViewTrait<CVal>::ref_type>
static val_type edm::OneToOneGeneric< CKey, CVal, index, KeyRefProd, ValRefProd, KeyRef, ValRef >::val ( ref_type const &  ref,
map_assoc  iv 
)
inlinestatic

return values collection

Definition at line 59 of file OneToOneGeneric.h.

59  {
60  return val_type(ref.val, iv);
61  }
ValRef val_type
values reference collection type