/usr/include/boost/log/sinks
NameSizeModeActions
async_frontend.hpp187710644editdlrm
attribute_mapping.hpp83970644editdlrm
auto_newline_mode.hpp12370644editdlrm
basic_sink_backend.hpp29410644editdlrm
basic_sink_frontend.hpp157440644editdlrm
block_on_overflow.hpp39890644editdlrm
bounded_fifo_queue.hpp54850644editdlrm
bounded_ordering_queue.hpp89070644editdlrm
debug_output_backend.hpp27140644editdlrm
drop_on_overflow.hpp19470644editdlrm
event_log_backend.hpp259620644editdlrm
event_log_constants.hpp24970644editdlrm
frontend_requirements.hpp37110644editdlrm
sink.hpp33510644editdlrm
sync_frontend.hpp59620644editdlrm
syslog_backend.hpp102210644editdlrm
syslog_constants.hpp42670644editdlrm
text_file_backend.hpp244410644editdlrm
text_ipc_message_queue_backend.hpp62530644editdlrm
text_multifile_backend.hpp75940644editdlrm
text_ostream_backend.hpp53330644editdlrm
unbounded_fifo_queue.hpp40210644editdlrm
unbounded_ordering_queue.hpp79280644editdlrm
unlocked_frontend.hpp51910644editdlrm
Edit: /usr/include/boost/log/sinks/frontend_requirements.hpp (3711B)
/* * Copyright Andrey Semashev 2007 - 2015. * 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 sinks/frontend_requirements.hpp * \author Andrey Semashev * \date 22.04.2007 * * The header contains definition of requirement tags that sink backend may declare * with regard to frontends. These requirements ensure that a backend will not * be used with an incompatible frontend. */ #ifndef BOOST_LOG_SINKS_FRONTEND_REQUIREMENTS_HPP_INCLUDED_ #define BOOST_LOG_SINKS_FRONTEND_REQUIREMENTS_HPP_INCLUDED_ #include #include #include #include #include #include #include #include #include #include #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif #ifndef BOOST_LOG_COMBINE_REQUIREMENTS_LIMIT //! The macro specifies the maximum number of requirements that can be combined with the \c combine_requirements metafunction #define BOOST_LOG_COMBINE_REQUIREMENTS_LIMIT 5 #endif namespace boost { BOOST_LOG_OPEN_NAMESPACE namespace sinks { /*! * The sink backend expects pre-synchronized calls, all needed synchronization is implemented * in the frontend (IOW, only one thread is feeding records to the backend concurrently, but * it is possible for several threads to write sequentially). Note that if a frontend supports * synchronized record feeding, it will also report capable of concurrent record feeding. */ struct synchronized_feeding {}; #if !defined(BOOST_LOG_NO_THREADS) /*! * The sink backend ensures all needed synchronization, it is capable to handle multithreaded calls */ struct concurrent_feeding : synchronized_feeding {}; #else // !defined(BOOST_LOG_NO_THREADS) // If multithreading is disabled, threading models become redundant typedef synchronized_feeding concurrent_feeding; #endif // !defined(BOOST_LOG_NO_THREADS) /*! * The sink backend requires the frontend to perform log record formatting before feeding */ struct formatted_records {}; /*! * The sink backend supports flushing */ struct flushing {}; #ifdef BOOST_LOG_DOXYGEN_PASS /*! * The metafunction combines multiple requirement tags into one type. The resulting type will * satisfy all specified requirements (i.e. \c has_requirement metafunction will return positive result). */ template< typename... RequirementsT > struct combine_requirements; #else template< BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_LOG_COMBINE_REQUIREMENTS_LIMIT, typename ReqT, mpl::na) > struct combine_requirements : mpl::inherit_linearly< mpl::vector< BOOST_PP_ENUM_PARAMS(BOOST_LOG_COMBINE_REQUIREMENTS_LIMIT, ReqT) >, mpl::inherit2< mpl::_1, mpl::_2 > > { }; #endif // BOOST_LOG_DOXYGEN_PASS /*! * A helper metafunction to check if a requirement is satisfied. The \c TestedT template argument * should be the type combining one or several requirements and \c RequiredT is the requirement * to test against. The metafunction will yield a positive result if \c TestedT supports \c RequiredT. */ template< typename TestedT, typename RequiredT > struct has_requirement : public is_base_of< RequiredT, TestedT > { }; } // namespace sinks BOOST_LOG_CLOSE_NAMESPACE // namespace log } // namespace boost #include #endif // BOOST_LOG_SINKS_FRONTEND_REQUIREMENTS_HPP_INCLUDED_