1 #ifndef __JTOOLS__JMULTIKEY__
2 #define __JTOOLS__JMULTIKEY__
33 template<
unsigned int N,
class JKey_t>
41 template<
unsigned int N,
class JKey_t>
47 template<
unsigned int N,
class JKey_t>
48 struct JArgument<N, const JKey_t> {
65 template<
unsigned int N,
class JKey_t>
67 public std::pair<JKey_t, JMultiKey<N-1, JKey_t> >,
129 if (this->first == key.first)
130 return this->second.less(key.second);
132 return this->first < key.first;
143 return this->first*this->first + this->second.getLengthSquared();
165 return JMultiKey<N-1, JKey_t>(this->first, this->second.front());
176 return this->second.back();
207 out << format << key.first;
219 template<
class JKey_t>
221 public std::pair<JKey_t, JMultiKey<1, JKey_t> >,
283 if (this->first == key.first)
284 return this->second.less(key.second);
286 return this->first < key.first;
297 return this->first*this->first + this->second.getLengthSquared();
330 return this->second.back();
361 out << format << key.first;
373 template<
class JKey_t>
445 return this->first < key.
first;
456 return this->first*this->first;
508 out << format << key.
first;
521 template<
class JKey_t>
JFormat_t & getFormat()
Get format for given type.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Template for generic class types.
JArgument< T >::argument_type argument_type
Template definition of auxiliary base class for comparison of data structures.