Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
named_scope.hpp File Reference
#include <ostream>
#include <memory>
#include <iterator>
#include <cstddef>
#include <boost/log/detail/config.hpp>
#include <boost/current_function.hpp>
#include <boost/mpl/if.hpp>
#include <boost/log/utility/string_literal.hpp>
#include <boost/log/utility/unique_identifier_name.hpp>
#include <boost/log/utility/unused_variable.hpp>
#include <boost/log/attributes/attribute.hpp>
#include <boost/log/attributes/attribute_cast.hpp>
#include <boost/log/detail/header.hpp>
#include <boost/log/detail/footer.hpp>
Include dependency graph for named_scope.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  boost::attributes::aux::named_scope_list_node
 Double-linked list node. More...
 
struct  boost::attributes::named_scope_entry
 The structure contains all information about a named scope. More...
 
class  boost::attributes::named_scope_list
 The class implements the list of scopes. More...
 
class  boost::attributes::named_scope_list::iter< fConstV >
 Iterator class. More...
 
class  boost::attributes::named_scope_list::iter< fConstV >
 Iterator class. More...
 
class  boost::attributes::named_scope
 A class of an attribute that holds stack of named scopes of the current thread. More...
 
struct  boost::attributes::named_scope::sentry
 Sentry object class to automatically push and pop scopes. More...
 

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::attributes
 
 boost::attributes::aux
 

Macros

#define BOOST_LOG_NAMED_SCOPE_INTERNAL(var, name, file, line, type)   BOOST_LOG_UNUSED_VARIABLE(::boost::log::attributes::named_scope::sentry, var, (name, file, line, type));
 
#define BOOST_LOG_NAMED_SCOPE(name)   BOOST_LOG_NAMED_SCOPE_INTERNAL(BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_named_scope_sentry_), name, __FILE__, __LINE__, ::boost::log::attributes::named_scope_entry::general)
 Macro for scope markup. More...
 
#define BOOST_LOG_FUNCTION()   BOOST_LOG_NAMED_SCOPE_INTERNAL(BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_named_scope_sentry_), BOOST_CURRENT_FUNCTION, __FILE__, __LINE__, ::boost::log::attributes::named_scope_entry::function)
 Macro for function scope markup. More...
 
#define BOOST_LOG_FUNC()   BOOST_LOG_FUNCTION()
 Macro for function scope markup. More...
 

Functions

template<typename CharT , typename TraitsT >
std::basic_ostream< CharT,
TraitsT > & 
boost::attributes::operator<< (std::basic_ostream< CharT, TraitsT > &strm, named_scope_list const &sl)
 Stream output operator. More...
 

Detailed Description

Author
Andrey Semashev
Date
24.06.2007

The header contains implementation of named scope container and an attribute that allows to put the named scope to log. A number of convenience macros are also provided.

Macro Definition Documentation

#define BOOST_LOG_FUNC ( )    BOOST_LOG_FUNCTION()

Macro for function scope markup.

The scope name is constructed with help of compiler and contains the current function name. It may be shorter than what BOOST_LOG_FUNCTION macro produces. The scope name is pushed to the end of the current thread scope list.

Not all compilers have support for this macro. The exact form of the scope name may vary from one compiler to another.

#define BOOST_LOG_FUNCTION ( )    BOOST_LOG_NAMED_SCOPE_INTERNAL(BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_named_scope_sentry_), BOOST_CURRENT_FUNCTION, __FILE__, __LINE__, ::boost::log::attributes::named_scope_entry::function)

Macro for function scope markup.

The scope name is constructed with help of compiler and contains the current function signature. The scope name is pushed to the end of the current thread scope list.

Not all compilers have support for this macro. The exact form of the scope name may vary from one compiler to another.

#define BOOST_LOG_NAMED_SCOPE (   name)    BOOST_LOG_NAMED_SCOPE_INTERNAL(BOOST_LOG_UNIQUE_IDENTIFIER_NAME(_boost_log_named_scope_sentry_), name, __FILE__, __LINE__, ::boost::log::attributes::named_scope_entry::general)

Macro for scope markup.

The specified scope name is pushed to the end of the current thread scope list.

#define BOOST_LOG_NAMED_SCOPE_INTERNAL (   var,
  name,
  file,
  line,
  type 
)    BOOST_LOG_UNUSED_VARIABLE(::boost::log::attributes::named_scope::sentry, var, (name, file, line, type));