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>
257 if (index >= 0 && index < N)
272 if (index >= 0 && index < N)
341 for (
int i = 0; i != N; ++i) {
354 for (
int i = 0; i != N; ++i) {
370 for (
int i = 0; i != N; ++i) {
386 for (
int i = 0; i != N; ++i) {
402 for (
int i = 0; i != N; ++i) {
418 for (
int i = 0; i != N; ++i) {
434 for (
int i = 0; i != N; ++i) {
435 if (
buffer[i] != array[i]) {
523 template<
class ...Args>
546 template<
unsigned int M>
560 template<
unsigned int M>
597 template<
unsigned int M>
600 buffer[N-M-1] = key.first;
602 assign(key.second, value);
612 template<
unsigned int M>
615 buffer[N-M-1] = key.first;
617 assign(key.second, value);
654 public JMath < JArray<1,T> >,
659 static const unsigned int N = 1;
687 template<
unsigned int M>
699 template<
unsigned int M>
941 return buffer[0] == array[0];
1014 template<
unsigned int N,
class T>
1018 friend class JArray<N + 1, const T>;
1032 template<
unsigned int M>
1045 template<
unsigned int M>
1081 if (index >= 0 && index < N)
1117 return JArray<N-1,
const T>(p + 1);
1128 return JArray<N-1,
const T>(p);
1172 static const unsigned int N = 1;
1174 friend class JArray<N + 1, const T>;
1188 template<
unsigned int M>
1201 template<
unsigned int M>
1237 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.