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 2020
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_GENERAL_IDENTIFIER_HPP)
0008 #define BOOST_VMD_IS_GENERAL_IDENTIFIER_HPP
0009 
0010 #include <boost/vmd/detail/setup.hpp>
0011 
0012 #if BOOST_PP_VARIADICS
0013 
0014 #include <boost/vmd/detail/is_general_identifier.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_GENERAL_IDENTIFIER(...)
0026 
0027     \brief Tests whether a parameter is a general identifier.
0028 
0029     ...       = variadic parameters
0030     
0031     The first variadic parameter is required and it is the input to test.
0032     
0033     Passing more than one variadic argument is an error.
0034 
0035   @code
0036   
0037     returns   = 1 if the parameter is any general identifier and only a single variadic argument is given, otherwise 0.
0038                 
0039   @endcode
0040   
0041     The argument to the macro should be a single possible identifier
0042     and not a VMD sequence of preprocessor tokens.
0043   
0044     If the input is not a VMD data type this macro could lead to
0045     a preprocessor error. This is because the macro
0046     uses preprocessor concatenation to determine if the input
0047     is an identifier once it is determined that the input is not empty
0048     and does not start with parenthesis. If the data being concatenated would
0049     lead to an invalid preprocessor token the compiler can issue
0050     a preprocessor error.
0051     
0052 */
0053 
0054 #define BOOST_VMD_IS_GENERAL_IDENTIFIER(...) \
0055     BOOST_VMD_DETAIL_IS_GENERAL_IDENTIFIER(__VA_ARGS__) \
0056 /**/
0057 
0058 #endif /* BOOST_PP_VARIADICS */
0059 #endif /* BOOST_VMD_IS_GENERAL_IDENTIFIER_HPP */