μHAL (v2.8.17)
Part of the IPbus software repository
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Macros | Functions
descr.h File Reference
#include "common.h"
Include dependency graph for descr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  descr< N, Ts >
 
struct  int_to_str< Rem, Digits >
 
struct  int_to_str< 0, Digits... >
 

Macros

#define PYBIND11_DESCR_CONSTEXPR   static constexpr
 
#define PYBIND11_DETAIL_UNDERSCORE_BACKWARD_COMPATIBILITY
 

Functions

template<size_t N1, size_t N2, typename... Ts1, typename... Ts2, size_t... Is1, size_t... Is2>
constexpr descr< N1+N2, Ts1..., Ts2... > plus_impl (const descr< N1, Ts1... > &a, const descr< N2, Ts2... > &b, index_sequence< Is1... >, index_sequence< Is2... >)
 
template<size_t N1, size_t N2, typename... Ts1, typename... Ts2>
constexpr descr< N1+N2, Ts1..., Ts2... > operator+ (const descr< N1, Ts1... > &a, const descr< N2, Ts2... > &b)
 
template<size_t N>
constexpr descr< N - 1 > const_name (char const (&text)[N])
 
constexpr descr< 0 > const_name (char const (&)[1])
 
template<bool B, size_t N1, size_t N2>
constexpr enable_if_t< B, descr< N1 - 1 > > const_name (char const (&text1)[N1], char const (&)[N2])
 
template<bool B, size_t N1, size_t N2>
constexpr enable_if_t<!B, descr< N2 - 1 > > const_name (char const (&)[N1], char const (&text2)[N2])
 
template<bool B, typename T1 , typename T2 >
constexpr enable_if_t< B, T1 > const_name (const T1 &d, const T2 &)
 
template<bool B, typename T1 , typename T2 >
constexpr enable_if_t<!B, T2 > const_name (const T1 &, const T2 &d)
 
template<size_t Size>
auto constexpr const_name () -> remove_cv_t< decltype(int_to_str< Size/10, Size % 10 >::digits)>
 
template<typename Type >
constexpr descr< 1, Type > const_name ()
 
template<size_t N>
constexpr descr< N - 1 > _ (char const (&text)[N])
 
template<bool B, size_t N1, size_t N2>
constexpr enable_if_t< B, descr< N1 - 1 > > _ (char const (&text1)[N1], char const (&text2)[N2])
 
template<bool B, size_t N1, size_t N2>
constexpr enable_if_t<!B, descr< N2 - 1 > > _ (char const (&text1)[N1], char const (&text2)[N2])
 
template<bool B, typename T1 , typename T2 >
constexpr enable_if_t< B, T1 > _ (const T1 &d1, const T2 &d2)
 
template<bool B, typename T1 , typename T2 >
constexpr enable_if_t<!B, T2 > _ (const T1 &d1, const T2 &d2)
 
template<size_t Size>
auto constexpr _ () -> remove_cv_t< decltype(int_to_str< Size/10, Size % 10 >::digits)>
 
template<typename Type >
constexpr descr< 1, Type > _ ()
 
constexpr descr< 0 > concat ()
 
template<size_t N, typename... Ts>
constexpr descr< N, Ts... > concat (const descr< N, Ts... > &descr)
 
template<size_t N, typename... Ts, typename... Args>
constexpr auto concat (const descr< N, Ts... > &d, const Args &...args) -> decltype(std::declval< descr< N+2, Ts... > >()+concat(args...))
 
template<size_t N, typename... Ts>
constexpr descr< N+2, Ts... > type_descr (const descr< N, Ts... > &descr)
 

Macro Definition Documentation

◆ PYBIND11_DESCR_CONSTEXPR

#define PYBIND11_DESCR_CONSTEXPR   static constexpr

Definition at line 18 of file descr.h.

◆ PYBIND11_DETAIL_UNDERSCORE_BACKWARD_COMPATIBILITY

#define PYBIND11_DETAIL_UNDERSCORE_BACKWARD_COMPATIBILITY

Definition at line 107 of file descr.h.

Function Documentation

◆ _() [1/7]

template<typename Type >
constexpr descr< 1, Type > _ ( )
constexpr

Definition at line 134 of file descr.h.

◆ _() [2/7]

template<size_t Size>
auto constexpr _ ( ) -> remove_cv_t<decltype(int_to_str<Size / 10, Size % 10>::digits)>
constexpr

Definition at line 130 of file descr.h.

◆ _() [3/7]

template<size_t N>
constexpr descr< N - 1 > _ ( char const (&)  text[N])
constexpr

Definition at line 109 of file descr.h.

◆ _() [4/7]

template<bool B, size_t N1, size_t N2>
constexpr enable_if_t< B, descr< N1 - 1 > > _ ( char const (&)  text1[N1],
char const (&)  text2[N2] 
)
constexpr

Definition at line 113 of file descr.h.

◆ _() [5/7]

template<bool B, size_t N1, size_t N2>
constexpr enable_if_t<!B, descr< N2 - 1 > > _ ( char const (&)  text1[N1],
char const (&)  text2[N2] 
)
constexpr

Definition at line 117 of file descr.h.

◆ _() [6/7]

template<bool B, typename T1 , typename T2 >
constexpr enable_if_t< B, T1 > _ ( const T1 &  d1,
const T2 &  d2 
)
constexpr

Definition at line 121 of file descr.h.

◆ _() [7/7]

template<bool B, typename T1 , typename T2 >
constexpr enable_if_t<!B, T2 > _ ( const T1 &  d1,
const T2 &  d2 
)
constexpr

Definition at line 125 of file descr.h.

◆ concat() [1/3]

constexpr descr< 0 > concat ( )
constexpr

Definition at line 139 of file descr.h.

Referenced by concat().

◆ concat() [2/3]

template<size_t N, typename... Ts, typename... Args>
constexpr auto concat ( const descr< N, Ts... > &  d,
const Args &...  args 
) -> decltype(std::declval<descr<N + 2, Ts...>>() + concat(args...))
constexpr

Definition at line 147 of file descr.h.

References concat(), and const_name().

◆ concat() [3/3]

template<size_t N, typename... Ts>
constexpr descr< N, Ts... > concat ( const descr< N, Ts... > &  descr)
constexpr

Definition at line 142 of file descr.h.

◆ const_name() [1/8]

template<typename Type >
constexpr descr< 1, Type > const_name ( )
constexpr

Definition at line 98 of file descr.h.

◆ const_name() [2/8]

template<size_t Size>
auto constexpr const_name ( ) -> remove_cv_t<decltype(int_to_str<Size / 10, Size % 10>::digits)>
constexpr

Definition at line 93 of file descr.h.

Referenced by concat(), const_name(), and type_descr().

◆ const_name() [3/8]

constexpr descr< 0 > const_name ( char   const(&)[1])
constexpr

Definition at line 63 of file descr.h.

◆ const_name() [4/8]

template<bool B, size_t N1, size_t N2>
constexpr enable_if_t<!B, descr< N2 - 1 > > const_name ( char   const(&)[N1],
char const (&)  text2[N2] 
)
constexpr

Definition at line 79 of file descr.h.

References const_name().

◆ const_name() [5/8]

template<size_t N>
constexpr descr< N - 1 > const_name ( char const (&)  text[N])
constexpr

Definition at line 60 of file descr.h.

Referenced by format_descriptor< T, detail::enable_if_t< detail::array_info< T >::is_array > >::format(), cpp_function::initialize(), pybind11::detail::type_caster< ArgAlwaysConverts >::PYBIND11_TYPE_CASTER(), PYBIND11_NAMESPACE::detail::type_caster< ArgAlwaysConverts >::PYBIND11_TYPE_CASTER(), pybind11::detail::type_caster< ArgInspector1 >::PYBIND11_TYPE_CASTER(), PYBIND11_NAMESPACE::detail::type_caster< ArgInspector1 >::PYBIND11_TYPE_CASTER(), pybind11::detail::type_caster< ArgInspector2 >::PYBIND11_TYPE_CASTER(), PYBIND11_NAMESPACE::detail::type_caster< ArgInspector2 >::PYBIND11_TYPE_CASTER(), array_caster< ArrayType, Value, Resizable, Size >::PYBIND11_TYPE_CASTER(), type_caster< bool >::PYBIND11_TYPE_CASTER(), pybind11::detail::type_caster< DestructionTester >::PYBIND11_TYPE_CASTER(), PYBIND11_NAMESPACE::detail::type_caster< DestructionTester >::PYBIND11_TYPE_CASTER(), type_caster< MoveOnlyInt >::PYBIND11_TYPE_CASTER(), type_caster< MoveOrCopyInt >::PYBIND11_TYPE_CASTER(), type_caster< RValueCaster >::PYBIND11_TYPE_CASTER(), type_caster< std::complex< T > >::PYBIND11_TYPE_CASTER(), string_caster< StringType, IsView >::PYBIND11_TYPE_CASTER(), void_caster< T >::PYBIND11_TYPE_CASTER(), type_caster< std::function< Return(Args...)> >::PYBIND11_TYPE_CASTER(), type_caster< std::chrono::time_point< std::chrono::system_clock, Duration > >::PYBIND11_TYPE_CASTER(), duration_caster< type >::PYBIND11_TYPE_CASTER(), map_caster< Type, Key, Value >::PYBIND11_TYPE_CASTER(), list_caster< Type, Value >::PYBIND11_TYPE_CASTER(), optional_caster< Type, Value >::PYBIND11_TYPE_CASTER(), set_caster< Type, Key >::PYBIND11_TYPE_CASTER(), variant_caster< V< Ts... > >::PYBIND11_TYPE_CASTER(), and type_caster< Type, enable_if_t< is_eigen_sparse< Type >::value > >::PYBIND11_TYPE_CASTER().

◆ const_name() [6/8]

template<bool B, size_t N1, size_t N2>
constexpr enable_if_t< B, descr< N1 - 1 > > const_name ( char const (&)  text1[N1],
char   const(&)[N2] 
)
constexpr

Definition at line 75 of file descr.h.

References const_name().

◆ const_name() [7/8]

template<bool B, typename T1 , typename T2 >
constexpr enable_if_t<!B, T2 > const_name ( const T1 &   ,
const T2 &  d 
)
constexpr

Definition at line 88 of file descr.h.

◆ const_name() [8/8]

template<bool B, typename T1 , typename T2 >
constexpr enable_if_t< B, T1 > const_name ( const T1 &  d,
const T2 &   
)
constexpr

Definition at line 84 of file descr.h.

◆ operator+()

template<size_t N1, size_t N2, typename... Ts1, typename... Ts2>
constexpr descr< N1+N2, Ts1..., Ts2... > operator+ ( const descr< N1, Ts1... > &  a,
const descr< N2, Ts2... > &  b 
)
constexpr

Definition at line 54 of file descr.h.

References plus_impl().

◆ plus_impl()

template<size_t N1, size_t N2, typename... Ts1, typename... Ts2, size_t... Is1, size_t... Is2>
constexpr descr< N1+N2, Ts1..., Ts2... > plus_impl ( const descr< N1, Ts1... > &  a,
const descr< N2, Ts2... > &  b,
index_sequence< Is1... >  ,
index_sequence< Is2... >   
)
constexpr

Definition at line 45 of file descr.h.

References PYBIND11_WORKAROUND_INCORRECT_MSVC_C4100, and descr< N, Ts >::text.

Referenced by operator+().

◆ type_descr()

template<size_t N, typename... Ts>
constexpr descr< N+2, Ts... > type_descr ( const descr< N, Ts... > &  descr)
constexpr

Definition at line 153 of file descr.h.

References const_name().