Electroneum
Classes | Static Public Attributes | Private Types | Static Private Member Functions | List of all members
mstch::internal::is_fun< T, N > Class Template Reference

#include <mstch.hpp>

Classes

struct  really_has
 

Static Public Attributes

static bool const no_args = sizeof(test<T>(0)) == sizeof(fun_without_args)
 
static bool const has_args = sizeof(test<T>(0)) == sizeof(fun_with_args)
 

Private Types

using not_fun = char
 
using fun_without_args = char[2]
 
using fun_with_args = char[3]
 

Static Private Member Functions

template<typename C >
static fun_without_argstest (really_has< N(C::*)() const, &C::operator()> *)
 
template<typename C >
static fun_with_argstest (really_has< N(C::*)(const std::string &) const, &C::operator()> *)
 
template<typename >
static not_funtest (...)
 

Member Typedef Documentation

◆ fun_with_args

template<class T , class N >
using mstch::internal::is_fun< T, N >::fun_with_args = char[3]
private

◆ fun_without_args

template<class T , class N >
using mstch::internal::is_fun< T, N >::fun_without_args = char[2]
private

◆ not_fun

template<class T , class N >
using mstch::internal::is_fun< T, N >::not_fun = char
private

Member Function Documentation

◆ test() [1/3]

template<class T , class N >
template<typename C >
static fun_without_args& mstch::internal::is_fun< T, N >::test ( really_has< N(C::*)() const, &C::operator()> *  )
staticprivate

◆ test() [2/3]

template<class T , class N >
template<typename C >
static fun_with_args& mstch::internal::is_fun< T, N >::test ( really_has< N(C::*)(const std::string &) const, &C::operator()> *  )
staticprivate

◆ test() [3/3]

template<class T , class N >
template<typename >
static not_fun& mstch::internal::is_fun< T, N >::test (   ...)
staticprivate

Member Data Documentation

◆ has_args

template<class T , class N >
bool const mstch::internal::is_fun< T, N >::has_args = sizeof(test<T>(0)) == sizeof(fun_with_args)
static

◆ no_args

template<class T , class N >
bool const mstch::internal::is_fun< T, N >::no_args = sizeof(test<T>(0)) == sizeof(fun_without_args)
static

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