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.


Detailed Description

mpl public header

Definition in file mpl.hh.


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

namespace   senf
namespace   senf::mpl

Defines

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

Define Documentation

#define
HH_SENF_Utils_mpl_   1

Definition at line 27 of file mpl.hh.

#define
SENF_MPL_SLOT_DEF_ZERO ( name  )

Value:

template <class _>                                                                        \
        static senf::mpl::rv<0> _SENF_MPL_SLOT_ ## name (_);
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 204 of file mpl.hh.