ATLAS Offline Software
Classes | Typedefs | Functions
impl Namespace Reference

Classes

struct  class_can_be_tuple
 
struct  simple_tuple_conversion
 
struct  struct_tuple_conversion
 

Typedefs

template<class T >
using to_tuple_type = decltype(to_tuple_type_helper(std::declval< T >()))
 

Functions

template<class T >
void tuple_safe_copy (T &dest, const T &source)
 
template<class T , std::enable_if_t< impl::class_can_be_tuple_v< T >> * = nullptr>
void tuple_safe_copy (T &s, const typename T::TupleType &tuple)
 
template<class T , std::enable_if_t< impl::class_can_be_tuple_v< T >> * = nullptr>
void tuple_safe_copy (typename T::TupleType &tuple, const T &s)
 
template<class T , std::enable_if_t< impl::class_can_be_tuple_v< T >> * = nullptr>
void tuple_safe_copy (std::vector< typename T::TupleType > &t_v, const std::vector< T > &s_v)
 
template<class T , std::enable_if_t< impl::class_can_be_tuple_v< T >> * = nullptr>
void tuple_safe_copy (std::vector< T > &s_v, const std::vector< typename T::TupleType > &t_v)
 
template<class T >
auto to_tuple_type_helper (const T &)
 
template<class T , std::enable_if_t< impl::class_can_be_tuple_v< T >> * = nullptr>
auto to_tuple_type_helper (const std::vector< T > &)
 
template<class Stream , class T >
void output_helper (Stream &s, const T &t, const std::string &after)
 
template<class Stream , class T >
void output_helper (Stream &s, const std::vector< T > &v, const std::string &after)
 

Typedef Documentation

◆ to_tuple_type

template<class T >
using impl::to_tuple_type = typedef decltype(to_tuple_type_helper(std::declval<T>()))

Definition at line 210 of file CaloGPUClusterAndCellDataMonitorOptions.h.

Function Documentation

◆ output_helper() [1/2]

template<class Stream , class T >
void impl::output_helper ( Stream &  s,
const std::vector< T > &  v,
const std::string &  after 
)

Definition at line 249 of file CaloGPUClusterAndCellDataMonitorOptions.h.

250  {
251  s << "[";
252  for (size_t i = 0; i < v.size(); ++i)
253  {
254  if (i > 0)
255  {
256  s << ", ";
257  }
258  impl::output_helper(s, v[i], "");
259  }
260  s << "]" << after;
261  }

◆ output_helper() [2/2]

template<class Stream , class T >
void impl::output_helper ( Stream &  s,
const T &  t,
const std::string &  after 
)

Definition at line 242 of file CaloGPUClusterAndCellDataMonitorOptions.h.

243  {
245  s << after;
246  }

◆ to_tuple_type_helper() [1/2]

template<class T , std::enable_if_t< impl::class_can_be_tuple_v< T >> * = nullptr>
auto impl::to_tuple_type_helper ( const std::vector< T > &  )

Definition at line 194 of file CaloGPUClusterAndCellDataMonitorOptions.h.

195  {
196  return std::vector<typename T::TupleType> {};
197  }

◆ to_tuple_type_helper() [2/2]

template<class T >
auto impl::to_tuple_type_helper ( const T &  )

Definition at line 180 of file CaloGPUClusterAndCellDataMonitorOptions.h.

181  {
182  return T{};
183  }

◆ tuple_safe_copy() [1/5]

template<class T , std::enable_if_t< impl::class_can_be_tuple_v< T >> * = nullptr>
void impl::tuple_safe_copy ( std::vector< T > &  s_v,
const std::vector< typename T::TupleType > &  t_v 
)

Definition at line 169 of file CaloGPUClusterAndCellDataMonitorOptions.h.

170  {
171  s_v.resize(t_v.size());
172  for (size_t i = 0; i < t_v.size(); ++i)
173  {
174  tuple_safe_copy(s_v[i], t_v[i]);
175  }
176  }

◆ tuple_safe_copy() [2/5]

template<class T , std::enable_if_t< impl::class_can_be_tuple_v< T >> * = nullptr>
void impl::tuple_safe_copy ( std::vector< typename T::TupleType > &  t_v,
const std::vector< T > &  s_v 
)

Definition at line 158 of file CaloGPUClusterAndCellDataMonitorOptions.h.

159  {
160  t_v.resize(s_v.size());
161  for (size_t i = 0; i < s_v.size(); ++i)
162  {
163  tuple_safe_copy(t_v[i], s_v[i]);
164  }
165  }

◆ tuple_safe_copy() [3/5]

template<class T >
void impl::tuple_safe_copy ( T &  dest,
const T &  source 
)

Definition at line 85 of file CaloGPUClusterAndCellDataMonitorOptions.h.

86  {
87  dest = source;
88  }

◆ tuple_safe_copy() [4/5]

template<class T , std::enable_if_t< impl::class_can_be_tuple_v< T >> * = nullptr>
void impl::tuple_safe_copy ( T &  s,
const typename T::TupleType &  tuple 
)

Definition at line 144 of file CaloGPUClusterAndCellDataMonitorOptions.h.

145  {
146  struct_tuple_conversion<T::TupleSize>::t2s(tuple, s);
147  }

◆ tuple_safe_copy() [5/5]

template<class T , std::enable_if_t< impl::class_can_be_tuple_v< T >> * = nullptr>
void impl::tuple_safe_copy ( typename T::TupleType &  tuple,
const T &  s 
)

Definition at line 151 of file CaloGPUClusterAndCellDataMonitorOptions.h.

152  {
153  struct_tuple_conversion<T::TupleSize>::s2t(s, tuple);
154  }
impl::tuple_safe_copy
void tuple_safe_copy(std::vector< T > &s_v, const std::vector< typename T::TupleType > &t_v)
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:169
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
perfmonmt-printer.dest
dest
Definition: perfmonmt-printer.py:189
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
lumiFormat.i
int i
Definition: lumiFormat.py:92
python.PyAthena.v
v
Definition: PyAthena.py:157
Gaudi::Utils::toStream
std::ostream &GAUDI_API toStream(const SG::VarHandleKeyArray &v, std::ostream &o)
Gaudi function used to convert a property to a string.
Definition: StoreGate/src/VarHandleKeyArray.cxx:49
impl::output_helper
void output_helper(Stream &s, const T &t, const std::string &after)
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:242
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35