1#ifndef __JTOOLS__JARRAY__
2#define __JTOOLS__JARRAY__
39 template<
unsigned int N,
class T>
41 public JMath < JArray<N,T> >,
72 template<
unsigned int M>
77 std::copy_n(array.
data(), N, this->data());
86 template<
unsigned int M>
91 std::copy_n(array.
data(), N, this->data());
102 std::copy_n(p, N, this->
data());
136 std::copy_n(array.
data(), N-1, this->data());
138 this->
buffer[N-1] = value;
150 std::copy_n(array.
data(), N-1, this->data());
152 this->
buffer[N-1] = value;
186 template<
class ...Args>
198 template<
class ...Args>
268 if (index >= 0 && index < N)
283 if (index >= 0 && index < N)
352 for (
int i = 0; i != N; ++i) {
365 for (
int i = 0; i != N; ++i) {
381 for (
int i = 0; i != N; ++i) {
397 for (
int i = 0; i != N; ++i) {
413 for (
int i = 0; i != N; ++i) {
429 for (
int i = 0; i != N; ++i) {
445 for (
int i = 0; i != N; ++i) {
446 if (
buffer[i] != array[i]) {
534 template<
class ...Args>
557 template<
unsigned int M>
571 template<
unsigned int M>
608 template<
unsigned int M>
611 buffer[N-M-1] = key.first;
613 assign(key.second, value);
623 template<
unsigned int M>
626 buffer[N-M-1] = key.first;
628 assign(key.second, value);
665 public JMath < JArray<1,T> >,
670 static const unsigned int N = 1;
698 template<
unsigned int M>
710 template<
unsigned int M>
963 return buffer[0] == array[0];
1036 template<
unsigned int N,
class T>
1040 friend class JArray<N + 1, const T>;
1054 template<
unsigned int M>
1067 template<
unsigned int M>
1086 const_iterator
begin()
const {
return p; }
1114 if (index >= 0 && index < N)
1150 return JArray<N-1,
const T>(p + 1);
1161 return JArray<N-1,
const T>(p);
1205 static const unsigned int N = 1;
1207 friend class JArray<N + 1, const T>;
1221 template<
unsigned int M>
1234 template<
unsigned int M>
1281 if (index >= 0 && index < N)
#define STATIC_CHECK(expr)
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Base class for data structures with artithmetic capabilities.
Interface for binary input.
Interface for binary output.
Exception for accessing an index in a collection that is outside of its range.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
JArgument< T >::argument_type argument_type
Template definition of auxiliary base class for comparison of data structures.
Auxiliary base class for aritmetic operations of derived class types.
Auxiliary data structure for floating point format specification.