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 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_VMD_SEQ_HPP)
0008 #define BOOST_VMD_IS_VMD_SEQ_HPP
0009 
0010 #include <boost/vmd/detail/setup.hpp>
0011 
0012 #if BOOST_PP_VARIADICS
0013 
0014 #include <boost/preprocessor/control/iif.hpp>
0015 #include <boost/vmd/identity.hpp>
0016 #include <boost/vmd/is_empty.hpp>
0017 #include <boost/vmd/is_seq.hpp>
0018 
0019 /*
0020 
0021   The succeeding comments in this file are in doxygen format.
0022 
0023 */
0024 
0025 /** \file
0026 */
0027 
0028 /** \def BOOST_VMD_IS_VMD_SEQ(sequence)
0029 
0030     \brief Determines if a sequence is a VMD seq.
0031 
0032     The macro checks that the sequence is a VMD seq.
0033     A VMD seq, which may be a Boost PP seq or emptiness, is a superset of a Boost PP seq.
0034     It returns 1 if it is a VMD seq, else if returns 0.
0035     
0036     sequence = a possible Boost PP seq
0037 
0038     returns = 1 if it a VMD seq, else returns 0.
0039     
0040 */
0041 
0042 #define BOOST_VMD_IS_VMD_SEQ(sequence) \
0043     BOOST_VMD_IDENTITY_RESULT \
0044         ( \
0045         BOOST_PP_IIF \
0046             ( \
0047             BOOST_VMD_IS_EMPTY(sequence), \
0048             BOOST_VMD_IDENTITY(1), \
0049             BOOST_VMD_IS_SEQ \
0050             ) \
0051         (sequence) \
0052         ) \
0053 /**/
0054 
0055 #endif /* BOOST_PP_VARIADICS */
0056 #endif /* BOOST_VMD_IS_VMD_SEQ_HPP */