CASM  1.1.0
A Clusters Approach to Statistical Mechanics
multivector.hh
Go to the documentation of this file.
1 #ifndef CASM_multivector
2 #define CASM_multivector
3 
4 #include <vector>
5 
6 namespace CASM {
7 
8 namespace multivector_impl {
9 template <typename T, size_t N>
10 struct multivector_tmp;
11 
12 template <typename T>
13 struct multivector_tmp<T, 0> {
14  using type = T;
15 };
16 template <typename T, size_t N>
18  using type = std::vector<typename multivector_tmp<T, N - 1>::type>;
19 };
20 } // namespace multivector_impl
21 
25 template <typename T>
26 struct multivector {
27  template <size_t N>
29 };
30 
31 } // namespace CASM
32 
33 #endif
Main CASM namespace.
Definition: APICommand.hh:8
std::vector< typename multivector_tmp< T, N - 1 >::type > type
Definition: multivector.hh:18
Shortcut for multidimensional vector (std::vector< std::vector< ...)
Definition: multivector.hh:26
typename multivector_impl::multivector_tmp< T, N >::type X
Definition: multivector.hh:28