CbmRoot
Loading...
Searching...
No Matches
CbmTypeTraits.h File Reference

Different metaprogramming utilities (type traits) for CBM experiment. More...

#include <optional>
#include <type_traits>
Include dependency graph for CbmTypeTraits.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cbm::util::is_in_sequence< What, Sequence >
 Checks at the compile time, if the non-type template parameter is in a sequence of values. More...
 
struct  cbm::util::is_all_same<... >
 Checks, if the types in a sequence are all the same. More...
 
struct  cbm::util::is_all_same<>
 
struct  cbm::util::is_all_same< T >
 
struct  cbm::util::is_all_same< T, T >
 
struct  cbm::util::is_all_same< T, T, Args... >
 
struct  cbm::util::is_std_optional< typename >
 Checks, if a value is std::optional. More...
 
struct  cbm::util::is_std_optional< std::optional< T > >
 
struct  cbm::util::is_pointer_to< T, Class >
 Checks, if the template argument is a const/non-const pointer of a type. More...
 
struct  cbm::util::is_pointer_to< const Class *, Class >
 
struct  cbm::util::is_pointer_to< Class *, Class >
 

Namespaces

namespace  cbm
 
namespace  cbm::util
 

Variables

template<auto... Args>
constexpr bool cbm::util::is_in_sequence_v = is_in_sequence<Args...>::value
 
template<auto... Values>
constexpr bool cbm::util::have_same_type_v = is_all_same<decltype(Values)...>::value
 Checks, if non-type parameter pack has the same type.
 
template<typename T>
constexpr bool cbm::util::is_std_optional_v = is_std_optional<T>::value
 
template<typename T, class Class>
constexpr bool cbm::util::is_pointer_to_v = is_pointer_to<T, Class>::value
 

Detailed Description

Different metaprogramming utilities (type traits) for CBM experiment.

Author
Sergei Zharko s.zha.nosp@m.rko@.nosp@m.gsi.d.nosp@m.e
Since
07.04.2025

Definition in file CbmTypeTraits.h.