12 template <
class KeyType,
class ValueType>
16 typedef std::pair<KeyType, ValueType>
Pair;
73 template <
class K,
class V>
76 valueToKey_.insert(std::make_pair(
value,
key));
80 template <
class K,
class V>
83 typename std::map<K, V>::const_iterator it = keyToValue_.find(
key);
84 if (it != keyToValue_.end()) {
91 template <
class K,
class V>
93 typedef std::vector<const DDsvalues_type *> sv_type;
95 typename std::map<K, V>::const_iterator it = keyToValue_.find(
key);
96 if (it != keyToValue_.end()) {
97 sv_type
sv = it->second.specifics();
98 sv_type::const_iterator it =
sv.begin();
100 for (; it !=
sv.end(); ++it) {
110 template <
class K,
class V>
112 typedef std::vector<const DDsvalues_type *> sv_type;
114 typename std::map<K, V>::const_iterator it = keyToValue_.find(
key);
115 if (it != keyToValue_.end()) {
116 sv_type
sv = it->second.specifics();
117 sv_type::const_iterator svIt =
sv.begin();
118 sv_type::const_iterator svEd =
sv.end();
120 for (; svIt != svEd; ++svIt) {
131 template <
class K,
class V>
133 typedef std::vector<const DDsvalues_type *> sv_type;
135 sv_type
sv =
val.specifics();
136 sv_type::const_iterator svIt =
sv.begin();
137 sv_type::const_iterator svEd =
sv.end();
139 for (; svIt != svEd; ++svIt) {
149 template <
class K,
class V>
153 unsigned int pos)
const {
154 typedef std::vector<const DDsvalues_type *> sv_type;
156 sv_type
sv =
val.specifics();
157 sv_type::const_iterator svIt =
sv.begin();
158 sv_type::const_iterator svEd =
sv.end();
160 for (; svIt != svEd; ++svIt) {
171 template <
class K,
class V>
175 unsigned int pos)
const {
176 typedef std::vector<const DDsvalues_type *> sv_type;
178 typename std::map<K, V>::const_iterator it = keyToValue_.find(
key);
179 if (it != keyToValue_.end()) {
180 sv_type
sv = it->second.specifics();
181 sv_type::const_iterator svIt =
sv.begin();
182 sv_type::const_iterator svEd =
sv.end();
185 for (; svIt != svEd; ++svIt) {
198 template <
class K,
class V>
200 std::vector<std::pair<K, V> >
result;
201 typedef std::vector<const DDsvalues_type *> sv_type;
202 typename std::map<V, K>::const_iterator it = valueToKey_.begin();
203 typename std::map<V, K>::const_iterator ed = valueToKey_.end();
206 for (; it != ed; ++it) {
207 sv_type
sv = it->first.specifics();
209 sv_type::const_iterator svIt =
sv.begin();
210 sv_type::const_iterator svEd =
sv.end();
212 for (; svIt != svEd; ++svIt) {
215 const std::vector<std::string> &
s =
v.strings();
219 result.emplace_back(std::make_pair(it->second, it->first));
230 template <
class K,
class V>
232 std::vector<std::pair<K, V> >
result;
233 typedef std::vector<const DDsvalues_type *> sv_type;
234 typename std::map<V, K>::const_iterator it = valueToKey_.begin();
235 typename std::map<V, K>::const_iterator ed = valueToKey_.end();
238 for (; it != ed; ++it) {
239 sv_type
sv = it->first.specifics();
241 sv_type::const_iterator svIt =
sv.begin();
242 sv_type::const_iterator svEd =
sv.end();
244 for (; svIt != svEd; ++svIt) {
247 const std::vector<double> &
s =
v.doubles();
251 result.emplace_back(std::make_pair(it->second, it->first));
262 template <
class K,
class V>
264 std::vector<std::pair<K, V> >
result;
265 typedef std::vector<const DDsvalues_type *> sv_type;
266 typename std::map<V, K>::const_iterator it = valueToKey_.begin();
267 typename std::map<V, K>::const_iterator ed = valueToKey_.end();
270 for (; it != ed; ++it) {
271 sv_type
sv = it->first.specifics();
273 sv_type::const_iterator svIt =
sv.begin();
274 sv_type::const_iterator svEd =
sv.end();
276 for (; svIt != svEd; ++svIt) {
278 result.emplace_back(std::make_pair(it->second, it->first));
std::pair< KeyType, ValueType > Pair
usefull typedef
bool value(const KeyType &key, ValueType &result)
removes a key-value pair
bool DDfetch(const DDsvalues_type *, DDValue &)
helper for retrieving DDValues from DDsvalues_type *.
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t V
std::map< KeyType, ValueType > keyToValue_
unsigned int toString(const std::string &name, const KeyType &key, std::string &value, unsigned int pos=0) const
same as toDouble but for std::string-valued values of named parameters
unsigned int noSpecifics(const KeyType &key, const std::string &name) const
fetch a key given a value
ValueType
Type of the value held by a Value object.
std::vector< Pair > Vector
usefull typedef
Vector all(const std::string &name, const std::string &value) const
get all std::mapped instances which have a specific 'name' with value 'value'
void insert(const KeyType &, const ValueType &)
insert a new key-value-pair
unsigned int toDouble(const std::string &name, const KeyType &key, double &value, unsigned int pos=0) const
returns the number specific parameters named 'name' and the corrsponding double
std::multimap< ValueType, KeyType > valueToKey_