11 #ifndef __GU_SCATTEREDINTERP_H__
12 #define __GU_SCATTEREDINTERP_H__
65 template <
typename V, fpreal * (V::*)(
int)>
struct Accessor {};
66 template <
typename V, const fpreal * (V::*)(
int) const>
struct ConstAccessor {};
69 template <
typename V>
static std::false_type
row_test(...);
75 template <
typename V>
static std::false_type
column_test(...);
81 static constexpr
bool has_row = std::is_same<decltype(row_test<U>(0)), std::true_type>
::value &&
82 std::is_same<decltype(const_row_test<U>(0)), std::true_type>
::value;
85 static constexpr
bool has_column = std::is_same<decltype(column_test<U>(0)), std::true_type>
::value &&
86 std::is_same<decltype(const_column_test<U>(0)), std::true_type>
::value;
89 #endif // __GU_SCATTEREDINTERP_H__
GLsizei const GLfloat * value
static constexpr bool has_row
static constexpr bool has_column
static std::true_type const_column_test(ConstAccessor< V,&V::column > *)
static std::true_type row_test(Accessor< V,&V::row > *)
static std::true_type const_row_test(ConstAccessor< V,&V::row > *)
GU_LeastSquaresSolverType
static std::true_type column_test(Accessor< V,&V::column > *)