diff options
author | Chanho Park <chanho61.park@samsung.com> | 2014-12-11 18:55:56 +0900 |
---|---|---|
committer | Chanho Park <chanho61.park@samsung.com> | 2014-12-11 18:55:56 +0900 |
commit | 08c1e93fa36a49f49325a07fe91ff92c964c2b6c (patch) | |
tree | 7a7053ceb8874b28ec4b868d4c49b500008a102e /boost/log/expressions/is_keyword_descriptor.hpp | |
parent | bb4dd8289b351fae6b55e303f189127a394a1edd (diff) | |
download | boost-08c1e93fa36a49f49325a07fe91ff92c964c2b6c.tar.gz boost-08c1e93fa36a49f49325a07fe91ff92c964c2b6c.tar.bz2 boost-08c1e93fa36a49f49325a07fe91ff92c964c2b6c.zip |
Imported Upstream version 1.57.0upstream/1.57.0
Diffstat (limited to 'boost/log/expressions/is_keyword_descriptor.hpp')
-rw-r--r-- | boost/log/expressions/is_keyword_descriptor.hpp | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/boost/log/expressions/is_keyword_descriptor.hpp b/boost/log/expressions/is_keyword_descriptor.hpp new file mode 100644 index 0000000000..9899e228e7 --- /dev/null +++ b/boost/log/expressions/is_keyword_descriptor.hpp @@ -0,0 +1,67 @@ +/* + * Copyright Andrey Semashev 2007 - 2014. + * 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 is_keyword_descriptor.hpp + * \author Andrey Semashev + * \date 14.07.2012 + * + * The header contains attribute keyword descriptor detection trait. + */ + +#ifndef BOOST_LOG_EXPRESSIONS_IS_KEYWORD_DESCRIPTOR_HPP_INCLUDED_ +#define BOOST_LOG_EXPRESSIONS_IS_KEYWORD_DESCRIPTOR_HPP_INCLUDED_ + +#include <boost/mpl/bool.hpp> +#include <boost/log/detail/config.hpp> +#include <boost/log/detail/header.hpp> + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +namespace boost { + +BOOST_LOG_OPEN_NAMESPACE + +namespace expressions { + +/*! + * Base class for keyword descriptors. All keyword descriptors must derive from this class to support the \c is_keyword_descriptor trait. + */ +struct keyword_descriptor +{ +#ifndef BOOST_LOG_DOXYGEN_PASS + typedef void _is_boost_log_keyword_descriptor; +#endif // BOOST_LOG_DOXYGEN_PASS +}; + +/*! + * The metafunction detects if the type \c T is a keyword descriptor + */ +template< typename T, typename VoidT = void > +struct is_keyword_descriptor : + public mpl::false_ +{ +}; + +#ifndef BOOST_LOG_DOXYGEN_PASS +template< typename T > +struct is_keyword_descriptor< T, typename T::_is_boost_log_keyword_descriptor > : + public mpl::true_ +{ +}; +#endif + +} // namespace expressions + +BOOST_LOG_CLOSE_NAMESPACE // namespace log + +} // namespace boost + +#include <boost/log/detail/footer.hpp> + +#endif // BOOST_LOG_EXPRESSIONS_IS_KEYWORD_DESCRIPTOR_HPP_INCLUDED_ |