/usr/include/boost/log/expressions/message.hpp is in libboost1.54-dev 1.54.0-4ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | /*
* Copyright Andrey Semashev 2007 - 2013.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
*/
/*!
* \file message.hpp
* \author Andrey Semashev
* \date 13.07.2012
*
* The header contains log message keyword declaration.
*/
#ifndef BOOST_LOG_EXPRESSIONS_MESSAGE_HPP_INCLUDED_
#define BOOST_LOG_EXPRESSIONS_MESSAGE_HPP_INCLUDED_
#include <string>
#include <boost/mpl/vector.hpp>
#include <boost/log/detail/config.hpp>
#include <boost/log/detail/default_attribute_names.hpp>
#include <boost/log/expressions/keyword.hpp>
#include <boost/log/expressions/is_keyword_descriptor.hpp>
#include <boost/log/attributes/attribute_name.hpp>
#include <boost/log/detail/header.hpp>
#ifdef BOOST_LOG_HAS_PRAGMA_ONCE
#pragma once
#endif
namespace boost {
BOOST_LOG_OPEN_NAMESPACE
namespace expressions {
namespace tag {
/*!
* Generic log message attribute descriptor.
*/
struct message :
public keyword_descriptor
{
// The attribute value type here is not essential since message attributes are not intended to be created via the keyword
typedef void attribute_type;
#if defined(BOOST_LOG_USE_CHAR) && defined(BOOST_LOG_USE_WCHAR_T)
typedef mpl::vector2< std::string, std::wstring > value_type;
#elif defined(BOOST_LOG_USE_CHAR)
typedef std::string value_type;
#elif defined(BOOST_LOG_USE_WCHAR_T)
typedef std::wstring value_type;
#endif
static attribute_name get_name() { return boost::log::aux::default_attribute_names::message(); }
};
#if defined(BOOST_LOG_USE_CHAR)
/*!
* Narrow character log message attribute descriptor.
*/
struct smessage :
public keyword_descriptor
{
// The attribute value type here is not essential since message attributes are not intended to be created via the keyword
typedef void attribute_type;
typedef std::string value_type;
static attribute_name get_name() { return boost::log::aux::default_attribute_names::message(); }
};
#endif
#if defined(BOOST_LOG_USE_WCHAR_T)
/*!
* Wide character log message attribute descriptor.
*/
struct wmessage :
public keyword_descriptor
{
// The attribute value type here is not essential since message attributes are not intended to be created via the keyword
typedef void attribute_type;
typedef std::wstring value_type;
static attribute_name get_name() { return boost::log::aux::default_attribute_names::message(); }
};
#endif
} // namespace tag
/*!
* Generic message keyword type.
*/
typedef attribute_keyword< tag::message > message_type;
/*!
* Generic message keyword.
*/
const message_type message = {};
#if defined(BOOST_LOG_USE_CHAR)
/*!
* Narrow message keyword type.
*/
typedef attribute_keyword< tag::smessage > smessage_type;
/*!
* Narrow message keyword.
*/
const smessage_type smessage = {};
#endif
#if defined(BOOST_LOG_USE_WCHAR_T)
/*!
* Wide message keyword type.
*/
typedef attribute_keyword< tag::wmessage > wmessage_type;
/*!
* Wide message keyword.
*/
const wmessage_type wmessage = {};
#endif
} // namespace expressions
BOOST_LOG_CLOSE_NAMESPACE // namespace log
} // namespace boost
#include <boost/log/detail/footer.hpp>
#endif // BOOST_LOG_EXPRESSIONS_MESSAGE_HPP_INCLUDED_
|