Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
keyword.hpp File Reference
#include <boost/ref.hpp>
#include <boost/proto/extends.hpp>
#include <boost/proto/make_expr.hpp>
#include <boost/phoenix/core/actor.hpp>
#include <boost/phoenix/core/domain.hpp>
#include <boost/phoenix/core/environment.hpp>
#include <boost/fusion/sequence/intrinsic/at.hpp>
#include <boost/preprocessor/cat.hpp>
#include <boost/log/detail/config.hpp>
#include <boost/log/detail/custom_terminal_spec.hpp>
#include <boost/log/expressions/keyword_fwd.hpp>
#include <boost/log/expressions/is_keyword_descriptor.hpp>
#include <boost/log/expressions/attr.hpp>
#include <boost/log/attributes/attribute_name.hpp>
#include <boost/log/attributes/value_extraction.hpp>
#include <boost/log/attributes/fallback_policy.hpp>
#include <boost/log/detail/header.hpp>
#include <boost/log/detail/footer.hpp>
Include dependency graph for keyword.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  boost::expressions::attribute_keyword< DescriptorT, ActorT >
 This class implements an expression template keyword. More...
 
struct  boost::proto::detail::protoify< boost::log::expressions::attribute_keyword< DescriptorT, ActorT >, DomainT >
 
struct  boost::proto::detail::protoify< boost::log::expressions::attribute_keyword< DescriptorT, ActorT > &, DomainT >
 
struct  boost::proto::detail::protoify< boost::log::expressions::attribute_keyword< DescriptorT, ActorT > const &, DomainT >
 
struct  boost::proto::detail::protoify< boost::reference_wrapper< boost::log::expressions::attribute_keyword< DescriptorT, ActorT > >, DomainT >
 
struct  boost::proto::detail::protoify< boost::reference_wrapper< boost::log::expressions::attribute_keyword< DescriptorT, ActorT > > const, DomainT >
 
struct  boost::proto::detail::protoify< boost::reference_wrapper< const boost::log::expressions::attribute_keyword< DescriptorT, ActorT > >, DomainT >
 
struct  boost::proto::detail::protoify< boost::reference_wrapper< const boost::log::expressions::attribute_keyword< DescriptorT, ActorT > > const, DomainT >
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::expressions
 
 boost::proto
 
 boost::proto::detail
 

Macros

#define BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE_IMPL(keyword_, name_, value_type_, tag_ns_)
 
#define BOOST_LOG_ATTRIBUTE_KEYWORD_IMPL(keyword_, name_, value_type_, tag_ns_)
 
#define BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE(keyword_, name_, value_type_)   BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE_IMPL(keyword_, name_, value_type_, tag)
 The macro declares an attribute keyword type. More...
 
#define BOOST_LOG_ATTRIBUTE_KEYWORD(keyword_, name_, value_type_)   BOOST_LOG_ATTRIBUTE_KEYWORD_IMPL(keyword_, name_, value_type_, tag)
 The macro declares an attribute keyword. More...
 

Macro Definition Documentation

#define BOOST_LOG_ATTRIBUTE_KEYWORD (   keyword_,
  name_,
  value_type_ 
)    BOOST_LOG_ATTRIBUTE_KEYWORD_IMPL(keyword_, name_, value_type_, tag)

The macro declares an attribute keyword.

The macro provides definitions similar to BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE and additionally defines the keyword object.

Parameters
keyword_Keyword name
name_Attribute name string
value_type_Attribute value type
#define BOOST_LOG_ATTRIBUTE_KEYWORD_IMPL (   keyword_,
  name_,
  value_type_,
  tag_ns_ 
)
Value:
BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE_IMPL(keyword_, name_, value_type_, tag_ns_)\
const BOOST_PP_CAT(keyword_, _type) keyword_ = {};
void const
Definition: is_convertible.hpp:460
#define BOOST_PP_CAT(a, b)
Definition: cat.hpp:24
#define BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE_IMPL(keyword_, name_, value_type_, tag_ns_)
Definition: keyword.hpp:189
#define BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE (   keyword_,
  name_,
  value_type_ 
)    BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE_IMPL(keyword_, name_, value_type_, tag)

The macro declares an attribute keyword type.

The macro should be used at a namespace scope. It expands into an attribute keyword type definition, including the tag namespace and the keyword tag type within which has the following layout:

1 namespace tag
2 {
3  struct keyword_ :
4  public boost::log::expressions::keyword_descriptor
5  {
6  typedef value_type_ value_type;
7  static boost::log::attribute_name get_name();
8  };
9 }
10 
11 typedef boost::log::expressions::attribute_keyword< tag::keyword_ > keyword_type;

The get_name method returns the attribute name.

Note
This macro only defines the type of the keyword. To also define the keyword object, use the BOOST_LOG_ATTRIBUTE_KEYWORD macro instead.
Parameters
keyword_Keyword name
name_Attribute name string
value_type_Attribute value type
#define BOOST_LOG_ATTRIBUTE_KEYWORD_TYPE_IMPL (   keyword_,
  name_,
  value_type_,
  tag_ns_ 
)
Value:
namespace tag_ns_\
{\
struct keyword_ :\
public ::boost::log::expressions::keyword_descriptor\
{\
typedef value_type_ value_type;\
static ::boost::log::attribute_name get_name() { return ::boost::log::attribute_name(name_); }\
};\
}\
typedef ::boost::log::expressions::attribute_keyword< tag_ns_::keyword_ > BOOST_PP_CAT(keyword_, _type);
#define BOOST_PP_CAT(a, b)
Definition: cat.hpp:24
value_type
Special integer values that can be used for formatting.
Definition: formatting.hpp:85