System::TestPredicates::TypeTraits Namespace Reference

Classes

struct  has_data_method
 
struct  has_data_method< System::Collections::BitArray, void >
 Specialization for BitArray type which provides boost type which is inaccessible there. More...
 
struct  has_print_to_method
 
struct  IsCppContainer
 
struct  LargestFPType
 

Typedefs

template<typename T1 , typename T2 >
using AreFPandArithmetic = std::integral_constant< bool,(std::is_floating_point< T1 >::value &&std::is_arithmetic< T2 >::value)||(std::is_arithmetic< T1 >::value &&std::is_floating_point< T2 >::value) >
 
template<typename T1 , typename T2 >
using AnyOfDecimal = std::integral_constant< bool, std::is_same< T1, System::Decimal >::value||std::is_same< T2, System::Decimal >::value >
 
template<typename T >
using IsArray = std::is_same< T, System::Array< typename T::ValueType > >
 
template<typename T >
using IsList = std::is_same< T, System::Collections::Generic::List< typename T::ValueType > >
 
template<typename T1 , typename T2 >
using BothArrayOrList = std::integral_constant< bool,(IsArray< T1 >::value||IsList< T1 >::value) &&(IsArray< T2 >::value||IsList< T2 >::value)>
 

Typedef Documentation

◆ AnyOfDecimal

template<typename T1 , typename T2 >
using System::TestPredicates::TypeTraits::AnyOfDecimal = typedef std::integral_constant<bool, std::is_same<T1, System::Decimal>::value || std::is_same<T2, System::Decimal>::value>

Checks that at least one of type arguments is System::Decimal. If so, sets value member to true, otherwise it is false.

Template Parameters
T1First type to check.
T2Second type to check.

◆ AreFPandArithmetic

template<typename T1 , typename T2 >
using System::TestPredicates::TypeTraits::AreFPandArithmetic = typedef std::integral_constant<bool, (std::is_floating_point<T1>::value && std::is_arithmetic<T2>::value) || (std::is_arithmetic<T1>::value && std::is_floating_point<T2>::value) >

Checks that T1 is arithmetic and T2 is floating point, or vice versa. If so, sets value member to true, otherwise it is false.

Template Parameters
T1First type to check.
T2Second type to check.

◆ BothArrayOrList

template<typename T1 , typename T2 >
using System::TestPredicates::TypeTraits::BothArrayOrList = typedef std::integral_constant<bool, (IsArray<T1>::value || IsList<T1>::value) && (IsArray<T2>::value || IsList<T2>::value)>

Checks if both type arguments are arrays or lists. If so, value member is set to true, otherwise it is set to false.

Template Parameters
TType to check.
T1First type to check.
T2Second type to check.

◆ IsArray

template<typename T >
using System::TestPredicates::TypeTraits::IsArray = typedef std::is_same<T, System::Array<typename T::ValueType> >

Checks if type is a System::Array specialization. If so, value member is set to true, otherwise it is set to false.

Template Parameters
TType to check.

◆ IsList

template<typename T >
using System::TestPredicates::TypeTraits::IsList = typedef std::is_same<T, System::Collections::Generic::List<typename T::ValueType> >

Checks if type is a System::Collections::Generic::List specialization. If so, value member is set to true, otherwise it is set to false.

Template Parameters
TType to check.