2021-07-01 18:15:12 +02:00
|
|
|
|
|
|
|
#include "base_def.h"
|
|
|
|
|
2021-07-28 20:29:56 +02:00
|
|
|
namespace CNORXZ
|
2021-07-01 18:15:12 +02:00
|
|
|
{
|
|
|
|
|
|
|
|
template <typename T>
|
|
|
|
struct IsArray
|
|
|
|
{
|
|
|
|
static constexpr bool VALUE = false;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define add_array_trait(name) template <typename... X> struct IsArray<##name<X...>> { \
|
|
|
|
static constexpr bool VALUE = true; \
|
|
|
|
}
|
|
|
|
|
|
|
|
add_array_trait(MultiArrayBase);
|
|
|
|
add_array_trait(MutableMultiArrayBase);
|
|
|
|
add_array_trait(MultiArray);
|
|
|
|
add_array_trait(FunctionalMultiArray);
|
|
|
|
add_array_trait(Slice);
|
|
|
|
add_array_trait(ConstSlice);
|
|
|
|
|
|
|
|
#undef add_array_trait
|
|
|
|
|
|
|
|
}
|