LArSoft  v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
geo::vect::details::HasGetter< Vector > Struct Template Reference

#include "geo_vectors_utils.h"

Static Public Attributes

static constexpr bool X = TestX<Vector>(nullptr)
 
static constexpr bool Y = TestY<Vector>(nullptr)
 
static constexpr bool Z = TestZ<Vector>(nullptr)
 
static constexpr bool T = TestT<Vector>(nullptr)
 

Static Private Member Functions

template<typename Class >
static constexpr bool TestX (decltype(std::declval< Class >().X())*)
 
template<typename Class >
static constexpr bool TestX (...)
 
template<typename Class >
static constexpr bool TestY (decltype(std::declval< Class >().Y())*)
 
template<typename Class >
static constexpr bool TestY (...)
 
template<typename Class >
static constexpr bool TestZ (decltype(std::declval< Class >().Z())*)
 
template<typename Class >
static constexpr bool TestZ (...)
 
template<typename Class >
static constexpr bool TestT (decltype(std::declval< Class >().T())*)
 
template<typename Class >
static constexpr bool TestT (...)
 

Detailed Description

template<typename Vector>
struct geo::vect::details::HasGetter< Vector >

Definition at line 112 of file geo_vectors_utils.h.

Member Function Documentation

template<typename Vector >
template<typename Class >
static constexpr bool geo::vect::details::HasGetter< Vector >::TestT ( decltype(std::declval< Class >().T())*  )
inlinestaticprivate

Definition at line 145 of file geo_vectors_utils.h.

146  {
147  return true;
148  }
template<typename Vector >
template<typename Class >
static constexpr bool geo::vect::details::HasGetter< Vector >::TestT (   ...)
inlinestaticprivate

Definition at line 150 of file geo_vectors_utils.h.

151  {
152  return false;
153  }
template<typename Vector >
template<typename Class >
static constexpr bool geo::vect::details::HasGetter< Vector >::TestX ( decltype(std::declval< Class >().X())*  )
inlinestaticprivate

Definition at line 115 of file geo_vectors_utils.h.

References X.

116  {
117  return true;
118  }
template<typename Vector >
template<typename Class >
static constexpr bool geo::vect::details::HasGetter< Vector >::TestX (   ...)
inlinestaticprivate

Definition at line 120 of file geo_vectors_utils.h.

121  {
122  return false;
123  }
template<typename Vector >
template<typename Class >
static constexpr bool geo::vect::details::HasGetter< Vector >::TestY ( decltype(std::declval< Class >().Y())*  )
inlinestaticprivate

Definition at line 125 of file geo_vectors_utils.h.

References Y.

126  {
127  return true;
128  }
template<typename Vector >
template<typename Class >
static constexpr bool geo::vect::details::HasGetter< Vector >::TestY (   ...)
inlinestaticprivate

Definition at line 130 of file geo_vectors_utils.h.

131  {
132  return false;
133  }
template<typename Vector >
template<typename Class >
static constexpr bool geo::vect::details::HasGetter< Vector >::TestZ ( decltype(std::declval< Class >().Z())*  )
inlinestaticprivate

Definition at line 135 of file geo_vectors_utils.h.

References Z.

136  {
137  return true;
138  }
template<typename Vector >
template<typename Class >
static constexpr bool geo::vect::details::HasGetter< Vector >::TestZ (   ...)
inlinestaticprivate

Definition at line 140 of file geo_vectors_utils.h.

141  {
142  return false;
143  }

Member Data Documentation

template<typename Vector >
constexpr bool geo::vect::details::HasGetter< Vector >::T = TestT<Vector>(nullptr)
static

Definition at line 159 of file geo_vectors_utils.h.

template<typename Vector >
constexpr bool geo::vect::details::HasGetter< Vector >::X = TestX<Vector>(nullptr)
static

Definition at line 156 of file geo_vectors_utils.h.

template<typename Vector >
constexpr bool geo::vect::details::HasGetter< Vector >::Y = TestY<Vector>(nullptr)
static

Definition at line 157 of file geo_vectors_utils.h.

template<typename Vector >
constexpr bool geo::vect::details::HasGetter< Vector >::Z = TestZ<Vector>(nullptr)
static

Definition at line 158 of file geo_vectors_utils.h.


The documentation for this struct was generated from the following file: