4#ifndef vtkImplicitArrayTraits_h 
    5#define vtkImplicitArrayTraits_h 
   40VTK_ABI_NAMESPACE_BEGIN
 
   42template <
typename... Ts>
 
   48template <
typename... Ts>
 
   56template <
typename, 
typename = 
void>
 
   78template <
typename R, 
typename T, 
typename Arg>
 
   83template <
typename R, 
typename Arg>
 
   86  static_assert(std::is_integral<Arg>::value, 
"Argument to map must be integral type");
 
   87  static constexpr bool value = 
true;
 
   97template <
typename, 
typename = 
void>
 
  102template <
typename Closure>
 
  109template <
typename Closure>
 
  114template <
typename Closure>
 
  119template <
typename Closure>
 
  124template <
typename Closure, 
typename R, 
typename Arg>
 
  129template <
typename R, 
typename Arg>
 
  134template <
typename R, 
typename Arg>
 
  137  static_assert(std::is_integral<Arg>::value, 
"Argument to closure must be integral type");
 
  138  static constexpr bool value = 
true;
 
  148template <
typename, 
typename = 
void>
 
  170template <
typename T, 
typename ArgIdx, 
typename ArgTup>
 
  176template <
typename ArgIdx, 
typename ArgTup>
 
  179  static_assert(std::is_integral<ArgIdx>::value, 
"Argument to mapTuple must be integral type");
 
  180  static constexpr bool value = 
true;
 
  190template <
typename, 
typename = 
void>
 
  212template <
typename R, 
typename T, 
typename ArgTupIdx, 
typename ArgCompIdx>
 
  218template <
typename R, 
typename ArgTupIdx, 
typename ArgCompIdx>
 
  222    std::is_integral<ArgTupIdx>::value, 
"1st Argument to mapComponent must be integral type");
 
  224    std::is_integral<ArgCompIdx>::value, 
"2nd Argument to mapComponent must be integral type");
 
  225  static constexpr bool value = 
true;
 
  250template <
typename T, 
typename = 
void>
 
  254  static constexpr bool value = 
false;
 
  274template <
typename T, 
typename = 
void>
 
  278  static constexpr bool value = 
false;
 
  298template <
typename T, 
typename = 
void>
 
  302  static constexpr bool value = 
false;
 
  320template <
typename T, 
typename = 
void>
 
  324  static constexpr bool value = 
false;
 
  349  using rtype = 
typename trait::rtype;
 
ReadOperatorCodes
An enum for formalizing the different trait types accepted for defining a "readable" object.
 
typename make_void< Ts... >::type void_t
 
Specialization of tuple ranges and iterators for vtkAOSDataArrayTemplate.
 
typename is_closure_trait< T >::rtype rtype
 
An intermediate trait for exposing a unified trait interface.
 
static constexpr bool value
 
static constexpr iarrays::ReadOperatorCodes code
 
typename has_map_component_trait< T >::rtype rtype
 
An intermediate trait for exposing a unified trait interface.
 
static constexpr bool value
 
typename has_map_trait< T >::rtype rtype
 
An intermediate trait for exposing a unified trait interface.
 
static constexpr bool value
 
static constexpr iarrays::ReadOperatorCodes code
 
typename has_map_tuple_trait< T >::rtype rtype
 
An intermediate trait for exposing a unified trait interface.
 
static constexpr bool value
 
used to check whether the template type has a method named mapComponent
 
used to check whether the template type has a method named map
 
used to check whether the template type has a method named mapTuple
 
A composite trait for handling all the different capabilities a "backend" to an implicit array can ha...
 
static constexpr bool can_read
 
static constexpr bool can_direct_read_component
 
static constexpr iarrays::ReadOperatorCodes code
 
static constexpr bool can_direct_read_tuple
 
typename std::conditional< can_map_trait< T >::value, can_map_trait< T >, can_close_trait< T > >::type trait
 
static constexpr bool default_constructible
 
typename trait::rtype rtype
 
A trait determining whether an object acts like a mono-variable integer closure.