Config.ih File Reference

Config internal header. More...

#include <boost/preprocessor/expand.hpp>
#include <boost/preprocessor/seq/for_each.hpp>
#include <boost/preprocessor/seq/to_tuple.hpp>
#include <boost/preprocessor/seq/fold_right.hpp>
#include <boost/preprocessor/seq/pop_back.hpp>
#include <boost/preprocessor/if.hpp>
#include <boost/preprocessor/facilities/is_empty.hpp>
#include <senf/Utils/preprocessor.hh>

Include dependency graph for Config.ih:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


Detailed Description

Config internal header.

Definition in file Config.ih.


Classes

struct   senf::log::detail::na
struct   senf::log::detail::Config< Stream, Area, QueryStream, Query >
  Internal: Compile time configuration for given Stream and Area. More...

Namespaces

namespace   senf
namespace   senf::log
namespace   senf::log::detail

Defines

#define  IH_SENF_Utils_Logger_Config_   1
#define  SENF_LOG_CHECK_NA_
#define  SENF_LOG_CAT(a, b)   SENF_LOG_CAT_I(a,b)
#define  SENF_LOG_CAT_I(a, b)   a ## b
#define  SENF_LOG_IS_NA(elt)   BOOST_PP_IS_EMPTY( SENF_LOG_CAT(SENF_LOG_CHECK_NA, elt) )
#define  SENF_LOG_SEQ_TO_NAME_(s, state, elem)   BOOST_PP_IF( SENF_LOG_IS_NA(elem), senf::log::detail::na, state::elem )
#define  SENF_LOG_SEQ_TO_NAME(seq)   BOOST_PP_SEQ_FOLD_LEFT(SENF_LOG_SEQ_TO_NAME_, , seq)
#define  SENF_LOG_PREDECL_(s, state, elem)   namespace elem { state }
#define  SENF_LOG_PREDECL_long(seq)
#define  SENF_LOG_PREDECL_short(seq)   BOOST_PP_IF( SENF_LOG_IS_NA( SENF_PP_SEQ_BACK(seq) ), ; , class SENF_PP_SEQ_BACK(seq); )
#define  SENF_LOG_PREDECL(seq)
#define  SENF_LOG_NIL(x)
#define  SENF_LOG_CONF_DEFINE(stream, area, level)

Define Documentation

#define
IH_SENF_Utils_Logger_Config_   1

Definition at line 27 of file Config.ih.

#define
SENF_LOG_CAT ( a,
)

Definition at line 80 of file Config.ih.

#define
SENF_LOG_CAT_I ( a,
)

Definition at line 81 of file Config.ih.

#define
SENF_LOG_CHECK_NA_

Definition at line 78 of file Config.ih.

#define
SENF_LOG_CONF_DEFINE ( stream,
area,
level  )

Value:

SENF_LOG_PREDECL(stream)                                                                      \
    SENF_LOG_PREDECL(area)                                                                        \
    namespace senf { namespace log { namespace detail {                                           \
        template <class QueryStream>                                                              \
        struct Config< SENF_LOG_SEQ_TO_NAME(stream),                                              \
                       SENF_LOG_SEQ_TO_NAME(area),                                                \
                       QueryStream,                                                               \
                       true >                                                                     \
        { typedef senf::log::level compileLimit; };                                               \
    }}}

Definition at line 108 of file Config.ih.

#define
SENF_LOG_IS_NA ( elt  )

Definition at line 83 of file Config.ih.

#define
SENF_LOG_NIL ( )

Definition at line 106 of file Config.ih.

#define
SENF_LOG_PREDECL ( seq  )

Value:

BOOST_PP_CAT(SENF_LOG_PREDECL_,                                                               \
                 BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)),long,short))(seq)

Definition at line 102 of file Config.ih.

#define
SENF_LOG_PREDECL_ ( s,
state,
elem  )

Definition at line 91 of file Config.ih.

#define
SENF_LOG_PREDECL_long ( seq  )

Value:

BOOST_PP_SEQ_FOLD_RIGHT( SENF_LOG_PREDECL_,                                                   \
                             class SENF_PP_SEQ_BACK(seq);,                                        \
                             BOOST_PP_SEQ_POP_BACK(seq) )

Definition at line 94 of file Config.ih.

#define
SENF_LOG_PREDECL_short ( seq  )

Definition at line 99 of file Config.ih.

#define
SENF_LOG_SEQ_TO_NAME ( seq  )

Definition at line 88 of file Config.ih.

#define
SENF_LOG_SEQ_TO_NAME_ ( s,
state,
elem  )

Definition at line 85 of file Config.ih.