12 template<
class T,
unsigned int N>
29 template<int NN = N, typename std::enable_if<NN == 1, int>::type = 0>
32 static_assert(
N == 1,
"");
37 template<int NN = N, typename std::enable_if<NN == 2, int>::type = 0>
40 static_assert(
N == 2,
"");
46 template<int NN = N, typename std::enable_if<NN == 3, int>::type = 0>
49 static_assert(
N == 3,
"");
56 template<int NN = N, typename std::enable_if<NN == 4, int>::type = 0>
59 static_assert(
N == 4,
"");
67 template<int NN = N, typename std::enable_if<NN == 5, int>::type = 0>
70 static_assert(
N == 5,
"");
79 template<int NN = N, typename std::enable_if<NN == 6, int>::type = 0>
82 static_assert(
N == 6,
"");
92 template<int NN = N, typename std::enable_if<NN == 7, int>::type = 0>
95 static_assert(
N == 7,
"");
106 template<int NN = N, typename std::enable_if<NN == 8, int>::type = 0>
109 static_assert(
N == 8,
"");
121 template<int NN = N, typename std::enable_if<NN == 9, int>::type = 0>
124 static_assert(
N == 9,
"");
137 template<int NN = N, typename std::enable_if<NN == 10, int>::type = 0>
140 static_assert(
N == 10,
"");
176 assert(i <
N &&
"index in fixed_array must be smaller than size");
183 assert(i <
N &&
"index in fixed_array must be smaller than size");
227 template <
typename T2>
247 static_assert(
N > 0,
"Cannot create a zero size arrays");
249 out << a.elems[i] <<
" ";
250 out << a.elems[
N - 1];
267 else if (
data[i] > v[i])
379 DYN_FUNC
inline VectorND<T, 10> makeFixedVector(
const T& v0,
const T& v1,
const T& v2,
const T& v3,
const T& v4,
const T& v5,
const T& v6,
const T& v7,
const T& v8,
const T& v9)
DYN_FUNC reference front()
DYN_FUNC const_iterator begin() const
DYN_FUNC VectorND(value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6, value_type r7)
Specific constructor for 7-elements vectors.
static DYN_FUNC size_type size()
DYN_FUNC VectorND(value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6, value_type r7, value_type r8)
Specific constructor for 8-elements vectors.
DYN_FUNC iterator begin()
static DYN_FUNC size_type max_size()
CPU_FUNC friend std::ostream & operator<<(std::ostream &out, const VectorND< T, N > &a)
DYN_FUNC VectorND(value_type r1)
Specific constructor for 1-element vectors.
static DYN_FUNC bool empty()
DYN_FUNC reference operator[](size_type i)
DYN_FUNC void assign(const T &value)
DYN_FUNC const_reference operator[](size_type i) const
DYN_FUNC VectorND(value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6)
Specific constructor for 6-elements vectors.
DYN_FUNC VectorND(value_type r1, value_type r2, value_type r3, value_type r4, value_type r5)
Specific constructor for 5-elements vectors.
const T & const_reference
DYN_FUNC VectorND(value_type r1, value_type r2, value_type r3)
Specific constructor for 3-elements vectors.
DYN_FUNC VectorND< T, N > & operator=(const VectorND< T2, N > &rhs)
DYN_FUNC VectorND(value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6, value_type r7, value_type r8, value_type r9, value_type r10)
Specific constructor for 10-elements vectors.
DYN_FUNC VectorND(value_type r1, value_type r2, value_type r3, value_type r4)
Specific constructor for 4-elements vectors.
DYN_FUNC const_reference back() const
CPU_FUNC friend std::istream & operator>>(std::istream &in, VectorND< T, N > &a)
DYN_FUNC bool operator<(const VectorND &v) const
DYN_FUNC const_iterator end() const
DYN_FUNC const T * getDataPtr() const
DYN_FUNC reference back()
DYN_FUNC VectorND(value_type r1, value_type r2)
Specific constructor for 2-elements vectors.
DYN_FUNC const_reference front() const
DYN_FUNC VectorND(value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6, value_type r7, value_type r8, value_type r9)
Specific constructor for 9-elements vectors.
This is an implementation of AdditiveCCD based on peridyno.
DYN_FUNC VectorND< T, 2 > makeFixedVector(const T &v0, const T &v1)