PLaSK library
Loading...
Searching...
No Matches
metaprog.hpp File Reference

This file contains meta-programing tools. More...

#include <tuple>
#include <type_traits>
Include dependency graph for metaprog.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  plask::chooseType< nr, types >
 Choose nr-th type from types list. More...
 
struct  plask::hyman::is_callable_impl< Expr, Step, Enable >
 
struct  plask::hyman::is_callable_impl< F(T, Args...), 0, always_void< decltype((std::declval< T >().*std::declval< F >())(std::declval< Args >()...))> >
 
struct  plask::hyman::is_callable_impl< F(T, Args...), 1, always_void< decltype(((*std::declval< T >()).*std::declval< F >())(std::declval< Args >()...))> >
 
struct  plask::hyman::is_callable_impl< F(T), 2, always_void< decltype(std::declval< T >().*std::declval< F >())> >
 
struct  plask::hyman::is_callable_impl< F(T), 3, always_void< decltype((*std::declval< T >()).*std::declval< F >())> >
 
struct  plask::hyman::is_callable_impl< F(Args...), 4, always_void< decltype(std::declval< F >()(std::declval< Args >()...))> >
 
struct  plask::hyman::is_callable_impl< Expr, 5 >
 
struct  plask::is_callable< Expr >
 Check if Expr is callable. More...
 

Namespaces

namespace  plask
 Patterson quadrature for complex function along specified line.
 
namespace  plask::hyman
 

Typedefs

template<typename T >
using plask::hyman::always_void = void
 

Detailed Description

This file contains meta-programing tools.

Definition in file metaprog.hpp.