|
||||
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_EQUAL_HPP) 0008 #define BOOST_VMD_EQUAL_HPP 0009 0010 #include <boost/vmd/detail/setup.hpp> 0011 0012 #if BOOST_PP_VARIADICS 0013 0014 #include <boost/vmd/detail/equal.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_EQUAL(sequence,...) 0026 0027 \brief Tests any two sequences for equality. 0028 0029 sequence = First sequence. <br/> 0030 ... = variadic parameters, maximum of 2. 0031 0032 The first variadic parameter is required and is the second sequence to test. 0033 The optional second variadic parameter is a VMD type as a filter. 0034 0035 The macro tests any two sequences for equality. For sequences to be equal the 0036 VMD types of each sequence must be equal and the individual elements of the 0037 sequence must be equal. For Boost PP composite types the macro tests that 0038 the composite types have the same size and then tests that each element 0039 of the composite type is equal. This means that all elements of a composite 0040 type must be a VMD type in order to use this macro successfully. 0041 0042 The single optional parameter is a filter. The filter is a VMD type which specifies 0043 that both sequences to test must be of that VMD type, as well as being equal to 0044 each other, for the test to succeed. 0045 0046 returns = 1 upon success or 0 upon failure. Success means that both sequences are 0047 equal and, if the optional parameter is specified, that the sequences are 0048 of the optional VMD type. 0049 0050 */ 0051 0052 #define BOOST_VMD_EQUAL(sequence,...) \ 0053 BOOST_VMD_DETAIL_EQUAL(sequence,__VA_ARGS__) \ 0054 /**/ 0055 0056 /** \def BOOST_VMD_EQUAL_D(d,sequence,...) 0057 0058 \brief Tests any two sequences for equality. Re-entrant version. 0059 0060 d = The next available BOOST_PP_WHILE iteration. <br/> 0061 sequence = First sequence. <br/> 0062 ... = variadic parameters, maximum of 2. 0063 0064 The first variadic parameter is required and is the second sequence to test. 0065 The optional second variadic parameter is a VMD type as a filter. 0066 0067 The macro tests any two sequences for equality. For sequences to be equal the 0068 VMD types of each sequence must be equal and the individual elements of the 0069 sequence must be equal. For Boost PP composite types the macro tests that 0070 the composite types have the same size and then tests that each element 0071 of the composite type is equal. This means that all elements of a composite 0072 type must be a VMD type in order to use this macro successfully. 0073 0074 The single optional parameter is a filter. The filter is a VMD type which specifies 0075 that both sequences to test must be of that VMD type, as well as being equal to 0076 each other, for the test to succeed. 0077 0078 returns = 1 upon success or 0 upon failure. Success means that both sequences are 0079 equal and, if the optional parameter is specified, that the sequences are 0080 of the optional VMD type. 0081 0082 */ 0083 0084 #define BOOST_VMD_EQUAL_D(d,sequence,...) \ 0085 BOOST_VMD_DETAIL_EQUAL_D(d,sequence,__VA_ARGS__) \ 0086 /**/ 0087 0088 #endif /* BOOST_PP_VARIADICS */ 0089 #endif /* BOOST_VMD_EQUAL_HPP */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |