/* Copyright 2014-2016 The MathWorks, Inc. */ #ifndef MATLAB_DATA_ARRAY_DEFS_H #define MATLAB_DATA_ARRAY_DEFS_H #include #include "Optional.hpp" #ifndef _HAS_CHAR16_T_LANGUAGE_SUPPORT #define _HAS_CHAR16_T_LANGUAGE_SUPPORT 0 #endif #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || _HAS_CHAR16_T_LANGUAGE_SUPPORT #define U16_STRING_LITERAL_PREFIX u typedef char16_t CHAR16_T; #else #define U16_STRING_LITERAL_PREFIX L typedef wchar_t CHAR16_T; #if !defined(_CHAR16T) #define _CHAR16T typedef wchar_t char16_t; #endif #endif namespace matlab { namespace data { enum class DataOrder : int { COLUMN_MAJOR, ROW_MAJOR }; template struct is_complex : std::false_type {}; template struct is_complex> : std::true_type {}; template struct is_complex const> : std::true_type {}; template struct is_const_complex : std::false_type {}; template struct is_const_complex const> : std::true_type {}; template struct is_optional : std::false_type {}; template struct is_optional> : std::true_type {}; template struct is_optional const> : std::true_type {}; template struct is_const_optional : std::false_type {}; template struct is_const_optional const> : std::true_type {}; } } #endif