mpl.hh File Reference

mpl public header More...

#include <senf/config.hh>
#include "mpl.ih"
Include dependency graph for mpl.hh:

Go to the source code of this file.

Classes

struct  senf::mpl::nil
 Marker class for empty default values etc. More...
 
struct  senf::mpl::rv< n >
 Return-value type used to implement overload selection. More...
 
struct  senf::mpl::take_uint< _ >
 Take an arbitrary unsigned integer template argument. More...
 
struct  senf::mpl::take_int< _ >
 Take an arbitrary integer template argument. More...
 
struct  senf::mpl::take_class< _ >
 Take an arbitrary type template argument. More...
 

Namespaces

 senf
 
 senf::mpl
 

Macros

#define SENF_MPL_RV(expr)
 Get return value of overload selector. More...
 
#define SENF_MPL_SLOT_DEF(name, value)
 Define MPL slot. More...
 
#define SENF_MPL_SLOT_DEF_ZERO(name)
 Define MPL slot initialized to 0. More...
 
#define SENF_MPL_SLOT_SET(name, value)
 Set MPL slot. More...
 
#define SENF_MPL_SLOT_GET(name)
 Get current MPL slot value. More...
 

Detailed Description

mpl public header

Definition in file mpl.hh.

Macro Definition Documentation

◆ SENF_MPL_SLOT_DEF_ZERO

#define SENF_MPL_SLOT_DEF_ZERO (   name)
Value:
template <class _> \
static senf::mpl::rv<0> _SENF_MPL_SLOT_ ## name (_);
unspecified_keyword_type name
Return-value type used to implement overload selection.
Definition: mpl.hh:107

Define MPL slot initialized to 0.

This is like SENF_MPL_SLOT_DEF() but initializes the slot to the fixed value 0. The advantage over SENF_MPL_SLOT_DEF() is, that this macro may be called from an include file whereas all the other \c SENF_MPL_SLOT_ macros must always be called from the relevant file.

Definition at line 195 of file mpl.hh.