1#ifndef __JTOOLS__JMULTIKEY__
2#define __JTOOLS__JMULTIKEY__
40 template<
unsigned int N,
class JKey_t>
42 public std::pair<JKey_t, JMultiKey<N-1, JKey_t> >,
52 typedef typename std::conditional<std::is_const<key_type>::value,
53 typename std::remove_const<key_type>::type,
54 typename std::add_const <key_type>::type>::type
U;
129 return to_array(this->first, this->second, std::make_index_sequence<N-1>{});
141 if (this->first == key.first)
142 return this->second.less(key.second);
144 return this->first < key.first;
166 return this->second.back();
197 out << format << key.first;
213 template<
size_t ...i>
216 std::index_sequence<i...>)
218 return {key, array[i]...};
228 template<
class ...Args>
241 template<
size_t ...i>
252 template<
class JKey_t>
262 typedef typename std::conditional<std::is_const<key_type>::value,
263 typename std::remove_const<key_type>::type,
264 typename std::add_const <key_type>::type>::type
U;
350 return {this->first};
362 return this->first < key.first;
403 out << format << key.first;
416 template<
class JKey_t>
428 template<
unsigned int N>
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.