14#ifndef __cxz_types_h__
15#define __cxz_types_h__
44 template <
typename T,
size_t N>
45 using Arr = std::array<T,N>;
48 using Sptr = std::shared_ptr<T>;
51 using Wptr = std::weak_ptr<T>;
54 using Uptr = std::unique_ptr<T>;
56 template <
typename T,
typename U>
57 using Pair = std::pair<T,U>;
59 template <
typename...
T>
62 template <
SizeT I,
typename...
T>
66 using RemoveRef =
typename std::remove_reference<T>::type;
68 template <
typename K,
typename V>
69 using Map = std::map<K,V>;
74 using Isq = std::index_sequence<
Is...>;
78 using Isqf = std::index_sequence_for<
T...>;
81 using CSizeT = std::integral_constant<SizeT,N>;
112 template <
typename T>
116 template <
typename T>
123 template <
class PosT>
127 template <
class PosT>
151 template <
class PosT1,
class PosT2>
160 template <
class I,
typename MetaType>
163 template <
class I,
typename MetaType>
173 template <
typename Meta>
177 template <
typename Meta>
181 template <
class Range>
185 template <
class Index>
195 template <
typename Meta, SizeT S>
199 template <
typename Meta, SizeT S>
203 template <
class...
Ranges>
230 template <
class Index>
236 template <
class Index, SizeT L>
251 template <
class... PosT>
258 template <
typename T>
262 template <
typename T>
266 template <
typename T>
270 template <
typename T>
274 template <
typename T>
286 template <
typename T,
class IndexT>
290 template <
typename T,
class IndexT>
294 template <
typename T,
class IndexT>
298 template <
class F,
class...
Ops>
302 template <
class CXpr>
309 template <
typename T>
310 using Vector = std::vector<T,Allocator<T>>;
312 template <
typename T, SizeT N,
bool Static>
316 template <
typename T, SizeT N>
typename std::remove_reference< T >::type RemoveRef
std::complex< Real > Complex
Sptr< RangeBase > RangePtr
Sptr< XIndexBase > XIndexPtr
std::unique_ptr< T > Uptr
std::tuple_element< I, Tuple< T... > > TupleElem
std::vector< T, Allocator< T > > Vector
std::integral_constant< SizeT, N > CSizeT
Sptr< Range > rangeCast(const RangePtr r)
std::index_sequence_for< T... > Isqf
std::index_sequence< Is... > Isq
Sptr< IndexInterface< I, MetaType > > IndexPtr
std::shared_ptr< T > Sptr