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));