ATLAS Offline Software
Loading...
Searching...
No Matches
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)

Variables

template<class T>
static constexpr bool class_can_be_tuple_v = class_can_be_tuple<T>::value

Typedef Documentation

◆ to_tuple_type

template<class T>
using impl::to_tuple_type = 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 }
void output_helper(Stream &s, const T &t, const std::string &after)

◆ 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 }
std::ostream & toStream(const SG::VarHandleKeyArray &v, std::ostream &o)
Gaudi function used to convert a property to a string.

◆ 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 }
void tuple_safe_copy(T &dest, const T &source)

◆ 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 )

◆ 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 )

Variable Documentation

◆ class_can_be_tuple_v

template<class T>
bool impl::class_can_be_tuple_v = class_can_be_tuple<T>::value
inlinestaticconstexpr

Definition at line 82 of file CaloGPUClusterAndCellDataMonitorOptions.h.