LArSoft  v09_90_00
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 114 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 147 of file geo_vectors_utils.h.

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

Definition at line 152 of file geo_vectors_utils.h.

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

Definition at line 117 of file geo_vectors_utils.h.

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

Definition at line 122 of file geo_vectors_utils.h.

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

Definition at line 127 of file geo_vectors_utils.h.

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

Definition at line 132 of file geo_vectors_utils.h.

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

Definition at line 137 of file geo_vectors_utils.h.

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

Definition at line 142 of file geo_vectors_utils.h.

143  {
144  return false;
145  }

Member Data Documentation

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

Definition at line 161 of file geo_vectors_utils.h.

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

Definition at line 158 of file geo_vectors_utils.h.

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

Definition at line 159 of file geo_vectors_utils.h.

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

Definition at line 160 of file geo_vectors_utils.h.


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