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_UNARY_HPP)
0008 #define BOOST_VMD_IS_UNARY_HPP
0009 
0010 #include <boost/vmd/detail/setup.hpp>
0011 
0012 #if BOOST_PP_VARIADICS
0013 
0014 #include <boost/vmd/detail/sequence_arity.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_UNARY(sequence)
0026 
0027     \brief Determines if the sequence has only a single element, referred to as a single-element sequence.
0028     
0029     sequence = a VMD sequence
0030 
0031     returns = 1 if the sequence is a single-element sequence, else returns 0.
0032     
0033     If the size of a sequence is known it is faster comparing that size to be equal
0034     to one to find out if the sequence is single-element. But if the size of the
0035     sequence is not known it is faster calling this macro than getting the size and
0036     doing the previously mentioned comparison in order to determine if the sequence
0037     is single-element or not.
0038     
0039 */
0040 
0041 #define BOOST_VMD_IS_UNARY(sequence) \
0042     BOOST_VMD_DETAIL_IS_UNARY(sequence) \
0043 /**/
0044 
0045 /** \def BOOST_VMD_IS_UNARY_D(d,sequence)
0046 
0047     \brief Determines if the sequence has only a single element, referred to as a single-element sequence. Re-entrant version.
0048     
0049     d        = The next available BOOST_PP_WHILE iteration. <br/>
0050     sequence = a sequence
0051 
0052     returns = 1 if the sequence is a single-element sequence, else returns 0.
0053     
0054     If the size of a sequence is known it is faster comparing that size to be equal
0055     to one to find out if the sequence is single-element. But if the size of the
0056     sequence is not known it is faster calling this macro than getting the size and
0057     doing the previously mentioned comparison in order to determine if the sequence
0058     is single-element or not.
0059     
0060 */
0061 
0062 #define BOOST_VMD_IS_UNARY_D(d,sequence) \
0063     BOOST_VMD_DETAIL_IS_UNARY_D(d,sequence) \
0064 /**/
0065 
0066 #endif /* BOOST_PP_VARIADICS */
0067 #endif /* BOOST_VMD_IS_UNARY_HPP */