Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:53:38

0001 
0002 //  (C) Copyright Edward Diener 2011-2015
0003 //  Use, modification and distribution are subject to the Boost Software License,
0004 //  Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
0005 //  http://www.boost.org/LICENSE_1_0.txt).
0006 
0007 #if !defined(BOOST_VMD_IS_TYPE_HPP)
0008 #define BOOST_VMD_IS_TYPE_HPP
0009 
0010 #include <boost/vmd/detail/setup.hpp>
0011 
0012 #if BOOST_PP_VARIADICS
0013 
0014 #include <boost/vmd/detail/is_type.hpp>
0015 
0016 /*
0017 
0018   The succeeding comments in this file are in doxygen format.
0019 
0020 */
0021 
0022 /** \file
0023 */
0024 
0025 /** \def BOOST_VMD_IS_TYPE(sequence)
0026 
0027     \brief Tests whether a sequence is a VMD type.
0028 
0029     sequence = a possible VMD type
0030     
0031     returns = 1 if the sequence is a VMD type, 
0032               0 if it is not.
0033     
0034     If the sequence is not a VMD data type this macro could lead to
0035     a preprocessor error. This is because the macro
0036     uses preprocessor concatenation to determine if the sequence
0037     is an identifier once it is determined that the sequence does not
0038     start with parentheses. If the data being concatenated would
0039     lead to an invalid preprocessor token the compiler can issue
0040     a preprocessor error.
0041     
0042 */
0043 
0044 #define BOOST_VMD_IS_TYPE(sequence) \
0045     BOOST_VMD_DETAIL_IS_TYPE(sequence) \
0046 /**/
0047 
0048 /** \def BOOST_VMD_IS_TYPE_D(d,sequence)
0049 
0050     \brief Tests whether a sequence is a VMD type. Re-entrant version.
0051 
0052     d        = The next available BOOST_PP_WHILE iteration. <br/>
0053     sequence = a possible VMD type
0054     
0055     returns = 1 if the sequence is a VMD type, 
0056               0 if it is not.
0057     
0058     If the sequence is not a VMD data type this macro could lead to
0059     a preprocessor error. This is because the macro
0060     uses preprocessor concatenation to determine if the sequence
0061     is an identifier once it is determined that the sequence does not
0062     start with parentheses. If the data being concatenated would
0063     lead to an invalid preprocessor token the compiler can issue
0064     a preprocessor error.
0065     
0066 */
0067 
0068 #define BOOST_VMD_IS_TYPE_D(d,sequence) \
0069     BOOST_VMD_DETAIL_IS_TYPE_D(d,sequence) \
0070 /**/
0071 
0072 #endif /* BOOST_PP_VARIADICS */
0073 #endif /* BOOST_VMD_IS_TYPE_HPP */