18 #ifndef EXATN_NUMERICS_TENSOR_SIGNATURE_HPP_
19 #define EXATN_NUMERICS_TENSOR_SIGNATURE_HPP_
21 #include "tensor_basic.hpp"
25 #include <initializer_list>
41 TensorSignature(std::initializer_list<std::pair<SpaceId,SubspaceId>> subspaces);
42 TensorSignature(
const std::vector<std::pair<SpaceId,SubspaceId>> & subspaces);
56 void printItFile(std::ofstream & output_file)
const;
63 SubspaceId getDimSubspaceId(
unsigned int dim_id)
const;
64 std::pair<SpaceId,SubspaceId> getDimSpaceAttr(
unsigned int dim_id)
const;
70 void resetDimension(
unsigned int dim_id, std::pair<SpaceId,SubspaceId> subspace);
76 void appendDimension(std::pair<SpaceId,SubspaceId> subspace = {SOME_SPACE,0});
80 std::vector<std::pair<SpaceId,SubspaceId>> subspaces_;
87 #endif //EXATN_NUMERICS_TENSOR_SIGNATURE_HPP_