Brush C++ API
A flexible interpretable machine learning framework
Loading...
Searching...
No Matches
Brush::SigBase< R, Args > Struct Template Reference

#include <signatures.h>

Public Types

using RetType = R
 
using FirstArg = std::tuple_element_t<0, std::tuple<Args...>>
 
using ArgTypes
 ArgTypes is a std::array if the types are shared, otherwise it is a tuple.
 
template<std::size_t N>
using NthType
 
using WeightType = typename WeightType<FirstArg>::type
 
using Function = std::function<R(Args...)>
 

Static Public Member Functions

template<size_t... Is>
static constexpr auto get_arg_types (std::index_sequence< Is... >)
 
static constexpr auto get_arg_types ()
 
static constexpr auto get_args_type ()
 
static constexpr auto get_ret_type ()
 
template<typename T >
static constexpr bool contains ()
 
static constexpr std::size_t hash_args ()
 
static constexpr std::size_t hash ()
 

Static Public Attributes

static constexpr std::size_t ArgCount = sizeof...(Args)
 

Detailed Description

template<typename R, typename... Args>
struct Brush::SigBase< R, Args >

Definition at line 60 of file signatures.h.

Member Typedef Documentation

◆ ArgTypes

template<typename R , typename... Args>
using Brush::SigBase< R, Args >::ArgTypes
Initial value:
conditional_t<(std::is_same_v<FirstArg,Args> && ...),
std::array<FirstArg,ArgCount>,
std::tuple<Args...>
>
void bind_engine(py::module &m, string name)

ArgTypes is a std::array if the types are shared, otherwise it is a tuple.

Definition at line 72 of file signatures.h.

◆ FirstArg

template<typename R , typename... Args>
using Brush::SigBase< R, Args >::FirstArg = std::tuple_element_t<0, std::tuple<Args...>>

Definition at line 65 of file signatures.h.

◆ Function

template<typename R , typename... Args>
using Brush::SigBase< R, Args >::Function = std::function<R(Args...)>

Definition at line 83 of file signatures.h.

◆ NthType

template<typename R , typename... Args>
template<std::size_t N>
using Brush::SigBase< R, Args >::NthType
Initial value:
typename std::tuple_element<N, ArgTypes>::type
>
std::tuple_element_t< 0, std::tuple< Args... > > FirstArg
Definition signatures.h:65

Definition at line 77 of file signatures.h.

◆ RetType

template<typename R , typename... Args>
using Brush::SigBase< R, Args >::RetType = R

Definition at line 62 of file signatures.h.

◆ WeightType

template<typename R , typename... Args>
using Brush::SigBase< R, Args >::WeightType = typename WeightType<FirstArg>::type

Definition at line 81 of file signatures.h.

Member Function Documentation

◆ contains()

template<typename R , typename... Args>
template<typename T >
static constexpr bool Brush::SigBase< R, Args >::contains ( )
inlinestaticconstexpr

Definition at line 104 of file signatures.h.

Here is the call graph for this function:

◆ get_arg_types() [1/2]

template<typename R , typename... Args>
static constexpr auto Brush::SigBase< R, Args >::get_arg_types ( )
inlinestaticconstexpr

Definition at line 91 of file signatures.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_arg_types() [2/2]

template<typename R , typename... Args>
template<size_t... Is>
static constexpr auto Brush::SigBase< R, Args >::get_arg_types ( std::index_sequence< Is... > )
inlinestaticconstexpr

Definition at line 86 of file signatures.h.

◆ get_args_type()

template<typename R , typename... Args>
static constexpr auto Brush::SigBase< R, Args >::get_args_type ( )
inlinestaticconstexpr

Definition at line 94 of file signatures.h.

◆ get_ret_type()

template<typename R , typename... Args>
static constexpr auto Brush::SigBase< R, Args >::get_ret_type ( )
inlinestaticconstexpr

Definition at line 101 of file signatures.h.

◆ hash()

template<typename R , typename... Args>
static constexpr std::size_t Brush::SigBase< R, Args >::hash ( )
inlinestaticconstexpr

Definition at line 108 of file signatures.h.

Here is the call graph for this function:

◆ hash_args()

template<typename R , typename... Args>
static constexpr std::size_t Brush::SigBase< R, Args >::hash_args ( )
inlinestaticconstexpr

Definition at line 106 of file signatures.h.

Here is the call graph for this function:

Member Data Documentation

◆ ArgCount

template<typename R , typename... Args>
constexpr std::size_t Brush::SigBase< R, Args >::ArgCount = sizeof...(Args)
staticconstexpr

Definition at line 63 of file signatures.h.


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