8 #include <metaprogramming/SFINAE.hpp> 9 #include <metaprogramming/SwallowSemicolon.hpp> 10 #include <system/Memory.hpp> 11 #include <tens/Indexer.hpp> 12 #include <tens/TensKind.hpp> 57 #define PROVIDE_EVAL(QUALIFIER) 59 template <class...Args, 60 class=ConstrainAreSame<int,Args...>> 61 QUALIFIER T& eval(const Args&...args) QUALIFIER 63 const int id=index<TK>(dynSizes,forw<const Args>(args)...); 79 template <
typename TC,
87 template <
typename TC,
134 template <
typename Is>
175 runLog()<<
"TensStor constructor: "<<
v<<
", "<<
__PRETTY_FUNCTION__;
218 runLog()<<
"TensStor destructor: "<<
v<<
", "<<
__PRETTY_FUNCTION__;
#define PROVIDE_EVAL(QUALIFIER)
Defines a const or non-const evaluator.
bool created
Store whether this has been created or is a reference.
T *& _v
Debug access to internal storage.
#define NON_CONST_QUALIF
Empty token to be used in macro expecting qualifier.
#define STATIC_ASSERT_ARE_INTEGRALS(...)
Static assert if the types T are not an integer-like.
#define SFINAE_ON_TEMPLATE_ARG(...)
int totSize
Debug store size.
decltype(auto) operator+(T1 &&smet1, T2 &&smet2)
Implement smet1+smet2.
#define CONST_QUALIF
Token to be used in macro indicating "const" keyword.
#define DECLAUTO
Short name for decltype(auto)