Compare commits

..

9 Commits

Author SHA1 Message Date
84d8afbb31 Merge pull request #147 from boostorg/develop
Develop to Master
2017-06-19 23:43:44 +09:00
36eac2e77c Added missing include file. 2017-06-18 23:12:50 +09:00
bb782de1ff Merge pull request #146 from Flast/update-workarounds
Update workarounds for msvc 14.1
2017-05-01 13:12:56 +09:00
451e21adb3 Update workarounds for msvc 14.1 2017-04-30 23:26:24 +09:00
e0ceefafb6 Merge pull request #145 from boostorg/test-config
Refresh Jamfile
2017-04-30 22:41:34 +09:00
2952fd254f Use build time config to filter tests. 2017-04-27 22:23:39 +09:00
1ec001888d Reformatting. 2017-02-02 22:08:16 +09:00
98b81ee102 Remove use of deprecated binder. (#144) 2016-11-20 16:58:04 +09:00
f1a619428a Remove unintended file. 2016-11-20 16:41:23 +09:00
10 changed files with 262 additions and 291 deletions

View File

@ -23,8 +23,7 @@
# endif
#endif
// MSVC variadics at this point in time is not ready yet (ICE!)
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900))
#if BOOST_WORKAROUND(BOOST_MSVC, < 1910)
# if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
# undef BOOST_FUSION_HAS_VARIADIC_DEQUE
# endif

View File

@ -23,8 +23,7 @@
# endif
#endif
// MSVC variadics at this point in time is not ready yet (ICE!)
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900))
#if BOOST_WORKAROUND(BOOST_MSVC, < 1910)
# if defined(BOOST_FUSION_HAS_VARIADIC_MAP)
# undef BOOST_FUSION_HAS_VARIADIC_MAP
# endif

View File

@ -27,8 +27,7 @@
# endif
#endif
// Sometimes, MSVC 12 shows compile error with std::size_t of template parameter.
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1800))
#if BOOST_WORKAROUND(BOOST_MSVC, < 1910)
# if defined(BOOST_FUSION_HAS_VARIADIC_VECTOR)
# undef BOOST_FUSION_HAS_VARIADIC_VECTOR
# endif

View File

@ -1,13 +1,13 @@
/*=============================================================================
Copyright (c) 2001-2009 Joel de Guzman
Copyright (c) 2017 Kohei Takahashi
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
#if !defined(FUSION_INCLUDE_ADAPT_ADT_NAMED)
#define FUSION_INCLUDE_ADAPT_ADT_NAMED
#if !defined(FUSION_INCLUDE_STD_ARRAY)
#define FUSION_INCLUDE_STD_ARRAY
#include <boost/fusion/support/config.hpp>
#include <boost/fusion/adapted/adt/adapt_adt_named.hpp>
#include <boost/fusion/adapted/std_array.hpp>
#endif

View File

@ -1,6 +1,7 @@
##==============================================================================
# Copyright (c) 2003-2006 Joel de Guzman
# Copyright (c) 2013 Mateusz Loskot
# Copyright (c) 2014-2017 Kohei Takahashi
#
# Use, modification and distribution is subject to the Boost Software
# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@ -8,6 +9,7 @@
#==============================================================================
# bring in rules for testing
import testing ;
import ../../config/checks/config : requires ;
project
: requirements
@ -16,246 +18,234 @@ project
{
test-suite fusion :
[ run algorithm/all.cpp : : : : ]
[ run algorithm/any.cpp : : : : ]
[ run algorithm/clear.cpp : : : : ]
[ run algorithm/copy.cpp : : : : ]
[ run algorithm/count.cpp : : : : ]
[ run algorithm/count_if.cpp : : : : ]
[ run algorithm/erase.cpp : : : : ]
[ run algorithm/erase_key.cpp : : : : ]
[ run algorithm/filter.cpp : : : : ]
[ run algorithm/filter_if.cpp : : : : ]
[ run algorithm/find.cpp : : : : ]
[ run algorithm/find_if.cpp : : : : ]
[ run algorithm/fold.cpp : : : : ]
[ run algorithm/for_each.cpp : : : : ]
[ run algorithm/insert.cpp : : : : ]
[ run algorithm/insert_range.cpp : : : : ]
[ run algorithm/iter_fold.cpp : : : : ]
[ run algorithm/move.cpp : : : : ]
[ run algorithm/none.cpp : : : : ]
[ run algorithm/pop_back.cpp : : : : ]
[ run algorithm/pop_front.cpp : : : : ]
[ run algorithm/push_back.cpp : : : : ]
[ run algorithm/push_front.cpp : : : : ]
[ run algorithm/remove.cpp : : : : ]
[ run algorithm/remove_if.cpp : : : : ]
[ run algorithm/replace.cpp : : : : ]
[ run algorithm/replace_if.cpp : : : : ]
[ run algorithm/reverse_fold.cpp : : : : ]
[ run algorithm/reverse_iter_fold.cpp : : : : ]
[ run algorithm/reverse.cpp : : : : ]
[ run algorithm/segmented_for_each.cpp : : : : ]
[ run algorithm/segmented_find.cpp : : : : ]
[ run algorithm/segmented_find_if.cpp : : : : ]
[ run algorithm/segmented_fold.cpp : : : : ]
[ run algorithm/transform.cpp : : : : ]
[ run algorithm/join.cpp : : : : ]
[ run algorithm/zip.cpp : : : : ]
[ run algorithm/zip2.cpp : : : : ]
[ run algorithm/zip_ignore.cpp : : : : ]
[ run algorithm/flatten.cpp : : : : ]
[ run algorithm/all.cpp ]
[ run algorithm/any.cpp ]
[ run algorithm/clear.cpp ]
[ run algorithm/copy.cpp ]
[ run algorithm/count.cpp ]
[ run algorithm/count_if.cpp ]
[ run algorithm/erase.cpp ]
[ run algorithm/erase_key.cpp ]
[ run algorithm/filter.cpp ]
[ run algorithm/filter_if.cpp ]
[ run algorithm/find.cpp ]
[ run algorithm/find_if.cpp ]
[ run algorithm/fold.cpp ]
[ run algorithm/for_each.cpp ]
[ run algorithm/insert.cpp ]
[ run algorithm/insert_range.cpp ]
[ run algorithm/iter_fold.cpp ]
[ run algorithm/move.cpp ]
[ run algorithm/none.cpp ]
[ run algorithm/pop_back.cpp ]
[ run algorithm/pop_front.cpp ]
[ run algorithm/push_back.cpp ]
[ run algorithm/push_front.cpp ]
[ run algorithm/remove.cpp ]
[ run algorithm/remove_if.cpp ]
[ run algorithm/replace.cpp ]
[ run algorithm/replace_if.cpp ]
[ run algorithm/reverse_fold.cpp ]
[ run algorithm/reverse_iter_fold.cpp ]
[ run algorithm/reverse.cpp ]
[ run algorithm/segmented_for_each.cpp ]
[ run algorithm/segmented_find.cpp ]
[ run algorithm/segmented_find_if.cpp ]
[ run algorithm/segmented_fold.cpp ]
[ run algorithm/transform.cpp ]
[ run algorithm/join.cpp ]
[ run algorithm/zip.cpp ]
[ run algorithm/zip2.cpp ]
[ run algorithm/zip_ignore.cpp ]
[ run algorithm/flatten.cpp ]
[ run sequence/as_deque.cpp : : : : ]
[ run sequence/as_list.cpp : : : : ]
[ run sequence/as_map.cpp : : : : ]
[ run sequence/as_map_assoc.cpp : : : : ]
[ run sequence/as_set.cpp : : : : ]
[ run sequence/as_vector.cpp : : : : ]
[ run sequence/boost_tuple.cpp : : : : ]
[ run sequence/boost_tuple_iterator.cpp : : : : ]
[ run sequence/cons.cpp : : : : ]
[ run sequence/convert_boost_tuple.cpp : : : : ]
[ run sequence/convert_deque.cpp : : : : ]
[ run sequence/convert_list.cpp : : : : ]
[ run sequence/convert_std_pair.cpp : : : : ]
[ run sequence/convert_std_tuple.cpp : : : : ]
[ run sequence/convert_vector.cpp : : : : ]
[ run sequence/filter_view.cpp : : : : ]
[ run sequence/hash.cpp : : : : ]
[ run sequence/io.cpp : : : : ]
[ run sequence/iterator_range.cpp : : : : ]
[ run sequence/joint_view.cpp : : : : ]
[ run sequence/list_comparison.cpp : : : : ]
[ run sequence/list_construction.cpp : : : : ]
[ run sequence/list_copy.cpp : : : : ]
[ run sequence/list_iterator.cpp : : : : ]
[ run sequence/list_hash.cpp : : : : ]
[ run sequence/list_make.cpp : : : : ]
[ run sequence/list_misc.cpp : : : : ]
[ run sequence/list_mutate.cpp : : : : ]
[ run sequence/list_nest.cpp : : : : ]
[ run sequence/list_tie.cpp : : : : ]
[ run sequence/list_value_at.cpp : : : : ]
[ run sequence/deque_comparison.cpp : : : : ]
[ run sequence/deque_construction.cpp : : : : ]
[ run sequence/deque_copy.cpp : : : : ]
[ run sequence/deque_iterator.cpp : : : : ]
[ run sequence/deque_hash.cpp : : : : ]
[ compile sequence/deque_is_constructible.cpp : : : : ]
[ run sequence/deque_make.cpp : : : : ]
[ run sequence/deque_misc.cpp : : : : ]
[ run sequence/deque_move.cpp : : : : ]
[ run sequence/deque_mutate.cpp : : : : ]
[ run sequence/deque_nest.cpp : : : : ]
[ run sequence/deque_tie.cpp : : : : ]
[ run sequence/deque_value_at.cpp : : : : ]
[ run sequence/front_extended_deque.cpp : : : : ]
[ run sequence/back_extended_deque.cpp : : : : ]
[ run sequence/make_list.cpp : : : : ]
[ run sequence/make_vector.cpp : : : : ]
[ run sequence/map.cpp : : : : ]
[ run sequence/map_comparison.cpp : : : : ]
[ run sequence/map_construction.cpp : : : : ]
[ run sequence/map_copy.cpp : : : : ]
[ run sequence/map_misc.cpp : : : : ]
[ run sequence/map_move.cpp : : : : ]
[ run sequence/map_mutate.cpp : : : : ]
[ run sequence/map_tie.cpp : : : : ]
[ run sequence/nil.cpp : : : : ]
[ run sequence/nview.cpp : : : : ]
[ run sequence/reverse_view.cpp : : : : ]
[ run sequence/segmented_iterator_range.cpp : : : : ]
[ run sequence/set.cpp : : : : ]
[ run sequence/single_view.cpp : : : : ]
[ run sequence/std_pair.cpp : : : : ]
[ run sequence/boost_array.cpp : : : : ]
[ run sequence/array.cpp : : : : ]
[ run sequence/std_array.cpp : : : : ]
[ run sequence/tuple_comparison.cpp : : : : ]
[ run sequence/tuple_construction.cpp : : : : ]
[ run sequence/tuple_conversion.cpp : : : : ]
[ run sequence/tuple_copy.cpp : : : : ]
[ run sequence/tuple_element.cpp : : : : ]
[ run sequence/tuple_make.cpp : : : : ]
[ run sequence/tuple_misc.cpp : : : : ]
[ run sequence/tuple_mutate.cpp : : : : ]
[ run sequence/tuple_nest.cpp : : : : ]
[ run sequence/tuple_hash.cpp : : : : ]
[ run sequence/tuple_tie.cpp : : : : ]
[
run sequence/tuple_traits.cpp
:
:
:
: sequence/tuple_traits/maybe_variadic_tuple
]
[
run sequence/tuple_traits.cpp
:
:
: <define>BOOST_FUSION_DISABLE_VARIADIC_VECTOR
: sequence/tuple_traits/no_variadic_tuple
]
[ run sequence/transform_view.cpp : : : : ]
[ run sequence/vector_comparison.cpp : : : : ]
[ run sequence/vector_construction.cpp : : : : ]
[ run sequence/vector_conversion.cpp : : : : ]
[ run sequence/vector_copy.cpp : : : : ]
[ run sequence/vector_iterator.cpp : : : : ]
[ run sequence/vector_make.cpp : : : : ]
[ run sequence/vector_misc.cpp : : : : ]
[ run sequence/vector_move.cpp : : : : ]
[ run sequence/vector_mutate.cpp : : : : ]
[ run sequence/vector_n.cpp : : : : ]
[ run sequence/vector_nest.cpp : : : : ]
[ run sequence/vector_hash.cpp : : : : ]
[ run sequence/vector_tie.cpp : : : : ]
[
run sequence/vector_traits.cpp
:
:
:
: sequence/vector_traits/maybe_variadic_vector
]
[
run sequence/vector_traits.cpp
:
:
: <define>BOOST_FUSION_DISABLE_VARIADIC_VECTOR
: sequence/vector_traits/no_variadic_vector
]
[ run sequence/vector_value_at.cpp : : : : ]
[ run sequence/zip_view.cpp : : : : ]
[ run sequence/zip_view2.cpp : : : : ]
[ run sequence/zip_view_ignore.cpp : : : : ]
[ run sequence/repetitive_view.cpp : : : : ]
[ run sequence/deduce_sequence.cpp : : : : ]
[ run sequence/adapt_adt_named.cpp : : : : ]
[ run sequence/adapt_adt_named_empty.cpp : : : : ]
[ run sequence/adapt_adt.cpp : : : : ]
[ run sequence/adapt_adt_empty.cpp : : : : ]
[ run sequence/adapt_assoc_adt_named.cpp : : : : ]
[ run sequence/adapt_assoc_adt_named_empty.cpp : : : : ]
[ run sequence/adapt_assoc_adt.cpp : : : : ]
[ run sequence/adapt_assoc_adt_empty.cpp : : : : ]
[ run sequence/adapt_assoc_struct_named.cpp : : : : ]
[ run sequence/adapt_assoc_struct_named_empty.cpp : : : : ]
[ run sequence/adapt_assoc_struct.cpp : : : : ]
[ run sequence/adapt_assoc_struct_empty.cpp : : : : ]
[ run sequence/adapt_assoc_tpl_adt.cpp : : : : ]
[ run sequence/adapt_assoc_tpl_adt_empty.cpp : : : : ]
[ run sequence/adapt_assoc_tpl_struct.cpp : : : : ]
[ run sequence/adapt_assoc_tpl_struct_empty.cpp : : : : ]
[ run sequence/adapt_struct_named.cpp : : : : ]
[ run sequence/adapt_struct_named_empty.cpp : : : : ]
[ run sequence/adapt_struct.cpp : : : : ]
[ run sequence/adapt_struct_empty.cpp : : : : ]
[ run sequence/adapt_tpl_adt.cpp : : : : ]
[ run sequence/adapt_tpl_adt_empty.cpp : : : : ]
[ run sequence/adapt_tpl_struct.cpp : : : : ]
[ run sequence/adapt_tpl_struct_empty.cpp : : : : ]
[ run sequence/adt_attribute_proxy.cpp : : : : ]
[ run sequence/define_struct.cpp : : : : ]
[ run sequence/define_struct_empty.cpp : : : : ]
[ run sequence/define_struct_move.cpp : : : : ]
[ run sequence/define_struct_inline.cpp : : : : ]
[ run sequence/define_struct_inline_empty.cpp : : : : ]
[ run sequence/define_struct_inline_move.cpp : : : : ]
[ run sequence/define_assoc_struct.cpp : : : : ]
[ run sequence/define_assoc_struct_empty.cpp : : : : ]
[ run sequence/define_assoc_struct_move.cpp : : : : ]
[ run sequence/define_tpl_struct.cpp : : : : ]
[ run sequence/define_tpl_struct_empty.cpp : : : : ]
[ run sequence/define_tpl_struct_move.cpp : : : : ]
[ run sequence/define_tpl_struct_inline.cpp : : : : ]
[ run sequence/define_tpl_struct_inline_empty.cpp : : : : ]
[ run sequence/define_tpl_struct_inline_move.cpp : : : : ]
[ run sequence/define_assoc_tpl_struct.cpp : : : : ]
[ run sequence/define_assoc_tpl_struct_empty.cpp : : : : ]
[ run sequence/define_assoc_tpl_struct_move.cpp : : : : ]
[ run sequence/std_tuple.cpp : : : : ]
[ run sequence/std_tuple_iterator.cpp : : : : ]
[ run sequence/ref_vector.cpp : : : : ]
[ run sequence/flatten_view.cpp : : : : ]
[ run sequence/as_deque.cpp ]
[ run sequence/as_list.cpp ]
[ run sequence/as_map.cpp ]
[ run sequence/as_map_assoc.cpp ]
[ run sequence/as_set.cpp ]
[ run sequence/as_vector.cpp ]
[ run sequence/boost_tuple.cpp ]
[ run sequence/boost_tuple_iterator.cpp ]
[ run sequence/cons.cpp ]
[ run sequence/convert_boost_tuple.cpp ]
[ run sequence/convert_deque.cpp ]
[ run sequence/convert_list.cpp ]
[ run sequence/convert_std_pair.cpp ]
[ run sequence/convert_std_tuple.cpp : :
: [ requires cxx11_variadic_templates cxx11_hdr_tuple ] ]
[ run sequence/convert_vector.cpp ]
[ run sequence/filter_view.cpp ]
[ run sequence/hash.cpp ]
[ run sequence/io.cpp ]
[ run sequence/iterator_range.cpp ]
[ run sequence/joint_view.cpp ]
[ run sequence/list_comparison.cpp ]
[ run sequence/list_construction.cpp ]
[ run sequence/list_copy.cpp ]
[ run sequence/list_iterator.cpp ]
[ run sequence/list_hash.cpp ]
[ run sequence/list_make.cpp ]
[ run sequence/list_misc.cpp ]
[ run sequence/list_mutate.cpp ]
[ run sequence/list_nest.cpp ]
[ run sequence/list_tie.cpp ]
[ run sequence/list_value_at.cpp ]
[ run sequence/deque_comparison.cpp ]
[ run sequence/deque_construction.cpp ]
[ run sequence/deque_copy.cpp ]
[ run sequence/deque_iterator.cpp ]
[ run sequence/deque_hash.cpp ]
[ compile sequence/deque_is_constructible.cpp ]
[ run sequence/deque_make.cpp ]
[ run sequence/deque_misc.cpp ]
[ run sequence/deque_move.cpp ]
[ run sequence/deque_mutate.cpp ]
[ run sequence/deque_nest.cpp ]
[ run sequence/deque_tie.cpp ]
[ run sequence/deque_value_at.cpp ]
[ run sequence/front_extended_deque.cpp ]
[ run sequence/back_extended_deque.cpp ]
[ run sequence/make_list.cpp ]
[ run sequence/make_vector.cpp ]
[ run sequence/map.cpp ]
[ run sequence/map_comparison.cpp ]
[ run sequence/map_construction.cpp ]
[ run sequence/map_copy.cpp ]
[ run sequence/map_misc.cpp ]
[ run sequence/map_move.cpp ]
[ run sequence/map_mutate.cpp ]
[ run sequence/map_tie.cpp ]
[ run sequence/nil.cpp ]
[ run sequence/nview.cpp ]
[ run sequence/reverse_view.cpp ]
[ run sequence/segmented_iterator_range.cpp ]
[ run sequence/set.cpp ]
[ run sequence/single_view.cpp ]
[ run sequence/std_pair.cpp ]
[ run sequence/boost_array.cpp ]
[ run sequence/array.cpp ]
[ run sequence/std_array.cpp : :
: [ requires cxx11_hdr_array ] ]
[ run sequence/tuple_comparison.cpp ]
[ run sequence/tuple_construction.cpp ]
[ run sequence/tuple_conversion.cpp ]
[ run sequence/tuple_copy.cpp ]
[ run sequence/tuple_element.cpp ]
[ run sequence/tuple_make.cpp ]
[ run sequence/tuple_misc.cpp ]
[ run sequence/tuple_mutate.cpp ]
[ run sequence/tuple_nest.cpp ]
[ run sequence/tuple_hash.cpp ]
[ run sequence/tuple_tie.cpp ]
[ run sequence/tuple_traits.cpp : :
:
: tuple_traits__maybe_variadic ]
[ run sequence/tuple_traits.cpp : :
: <define>BOOST_FUSION_DISABLE_VARIADIC_VECTOR
: tuple_traits__no_variadic ]
[ run sequence/transform_view.cpp ]
[ run sequence/vector_comparison.cpp ]
[ run sequence/vector_construction.cpp ]
[ run sequence/vector_conversion.cpp ]
[ run sequence/vector_copy.cpp ]
[ run sequence/vector_iterator.cpp ]
[ run sequence/vector_make.cpp ]
[ run sequence/vector_misc.cpp ]
[ run sequence/vector_move.cpp ]
[ run sequence/vector_mutate.cpp ]
[ run sequence/vector_n.cpp ]
[ run sequence/vector_nest.cpp ]
[ run sequence/vector_hash.cpp ]
[ run sequence/vector_tie.cpp ]
[ run sequence/vector_traits.cpp : :
:
: vector_traits__maybe_variadic ]
[ run sequence/vector_traits.cpp : :
: <define>BOOST_FUSION_DISABLE_VARIADIC_VECTOR
: vector_traits__no_variadic ]
[ run sequence/vector_value_at.cpp ]
[ run sequence/zip_view.cpp ]
[ run sequence/zip_view2.cpp ]
[ run sequence/zip_view_ignore.cpp ]
[ run sequence/repetitive_view.cpp ]
[ run sequence/deduce_sequence.cpp ]
[ run sequence/adapt_adt_named.cpp ]
[ run sequence/adapt_adt_named_empty.cpp ]
[ run sequence/adapt_adt.cpp ]
[ run sequence/adapt_adt_empty.cpp ]
[ run sequence/adapt_assoc_adt_named.cpp ]
[ run sequence/adapt_assoc_adt_named_empty.cpp ]
[ run sequence/adapt_assoc_adt.cpp ]
[ run sequence/adapt_assoc_adt_empty.cpp ]
[ run sequence/adapt_assoc_struct_named.cpp ]
[ run sequence/adapt_assoc_struct_named_empty.cpp ]
[ run sequence/adapt_assoc_struct.cpp ]
[ run sequence/adapt_assoc_struct_empty.cpp ]
[ run sequence/adapt_assoc_tpl_adt.cpp ]
[ run sequence/adapt_assoc_tpl_adt_empty.cpp ]
[ run sequence/adapt_assoc_tpl_struct.cpp ]
[ run sequence/adapt_assoc_tpl_struct_empty.cpp ]
[ run sequence/adapt_struct_named.cpp ]
[ run sequence/adapt_struct_named_empty.cpp ]
[ run sequence/adapt_struct.cpp ]
[ run sequence/adapt_struct_empty.cpp ]
[ run sequence/adapt_tpl_adt.cpp ]
[ run sequence/adapt_tpl_adt_empty.cpp ]
[ run sequence/adapt_tpl_struct.cpp ]
[ run sequence/adapt_tpl_struct_empty.cpp ]
[ run sequence/adt_attribute_proxy.cpp ]
[ run sequence/define_struct.cpp ]
[ run sequence/define_struct_empty.cpp ]
[ run sequence/define_struct_move.cpp ]
[ run sequence/define_struct_inline.cpp ]
[ run sequence/define_struct_inline_empty.cpp ]
[ run sequence/define_struct_inline_move.cpp ]
[ run sequence/define_assoc_struct.cpp ]
[ run sequence/define_assoc_struct_empty.cpp ]
[ run sequence/define_assoc_struct_move.cpp ]
[ run sequence/define_tpl_struct.cpp ]
[ run sequence/define_tpl_struct_empty.cpp ]
[ run sequence/define_tpl_struct_move.cpp ]
[ run sequence/define_tpl_struct_inline.cpp ]
[ run sequence/define_tpl_struct_inline_empty.cpp ]
[ run sequence/define_tpl_struct_inline_move.cpp ]
[ run sequence/define_assoc_tpl_struct.cpp ]
[ run sequence/define_assoc_tpl_struct_empty.cpp ]
[ run sequence/define_assoc_tpl_struct_move.cpp ]
[ run sequence/std_tuple.cpp : :
: [ requires cxx11_variadic_templates cxx11_hdr_tuple ] ]
[ run sequence/std_tuple_iterator.cpp : :
: [ requires cxx11_variadic_templates cxx11_hdr_tuple ] ]
[ run sequence/ref_vector.cpp ]
[ run sequence/flatten_view.cpp ]
[ compile sequence/size.cpp : : : : ]
[ compile sequence/size.cpp ]
[ run functional/fused.cpp : : : : ]
[ run functional/fused_function_object.cpp : : : : ]
[ run functional/fused_procedure.cpp : : : : ]
[ run functional/unfused.cpp : : : : ]
[ run functional/unfused_typed.cpp : : : : ]
[ run functional/make_fused.cpp : : : : ]
[ run functional/make_fused_function_object.cpp : : : : ]
[ run functional/make_fused_procedure.cpp : : : : ]
[ run functional/make_unfused.cpp : : : : ]
[ run functional/invoke.cpp : : : : ]
[ run functional/invoke_function_object.cpp : : : : ]
[ run functional/invoke_procedure.cpp : : : : ]
[ run sequence/swap.cpp : : : : ]
[ run functional/fused.cpp ]
[ run functional/fused_function_object.cpp ]
[ run functional/fused_procedure.cpp ]
[ run functional/unfused.cpp ]
[ run functional/unfused_typed.cpp ]
[ run functional/make_fused.cpp ]
[ run functional/make_fused_function_object.cpp ]
[ run functional/make_fused_procedure.cpp ]
[ run functional/make_unfused.cpp ]
[ run functional/invoke.cpp ]
[ run functional/invoke_function_object.cpp ]
[ run functional/invoke_procedure.cpp ]
[ run sequence/swap.cpp ]
[ compile support/pair_deque.cpp : : : : ]
[ compile support/pair_list.cpp : : : : ]
[ compile support/pair_map.cpp : : : : ]
[ compile support/pair_set.cpp : : : : ]
[ compile support/pair_vector.cpp : : : : ]
[ compile support/pair_nest.cpp : : : : ]
[ compile support/index_sequence.cpp : : : : ]
[ compile support/and.cpp : : : : ]
[ compile support/pair_deque.cpp ]
[ compile support/pair_list.cpp ]
[ compile support/pair_map.cpp ]
[ compile support/pair_set.cpp ]
[ compile support/pair_vector.cpp ]
[ compile support/pair_nest.cpp ]
[ compile support/index_sequence.cpp ]
[ compile support/and.cpp ]
# [ compile-fail xxx.cpp : : : : ]
# [ compile-fail xxx.cpp ]
;
}

View File

@ -9,28 +9,36 @@
#include <boost/fusion/container/vector/vector.hpp>
#include <boost/fusion/adapted/mpl.hpp>
#include <boost/fusion/algorithm/query/count_if.hpp>
#include <boost/lambda/lambda.hpp>
#include <boost/mpl/vector_c.hpp>
#include <functional>
template <typename F> struct bind1st;
template <template <typename> class F, typename T>
struct bind1st<F<T> > : public F<T>
{
T n;
bind1st(T n) : n(n) { }
bool operator()(T v) const { return F<T>::operator()(n, v); }
};
int
main()
{
{
boost::fusion::vector<int, short, double> t(1, 2, 3.3);
BOOST_TEST(boost::fusion::count_if(t, boost::lambda::_1 == 2) == 1);
BOOST_TEST(boost::fusion::count_if(t, bind1st<std::equal_to<double> >(2)) == 1);
}
{
boost::fusion::vector<int, short, double> t(1, 2, 3.3);
BOOST_TEST(boost::fusion::count_if(t, boost::lambda::_1 == 3) == 0);
BOOST_TEST(boost::fusion::count_if(t, bind1st<std::equal_to<double> >(3)) == 0);
}
{
typedef boost::mpl::vector_c<int, 1, 2, 3> mpl_vec;
// Cannot use lambda here as mpl iterators return rvalues and lambda needs lvalues
BOOST_TEST(boost::fusion::count_if(mpl_vec(), std::bind2nd(std::less_equal<int>(), 2)) == 2);
BOOST_TEST(boost::fusion::count_if(mpl_vec(), std::bind2nd(std::greater<int>(), 2)) == 1);
BOOST_TEST(boost::fusion::count_if(mpl_vec(), bind1st<std::greater_equal<int> >(2)) == 2);
BOOST_TEST(boost::fusion::count_if(mpl_vec(), bind1st<std::less<int> >(2)) == 1);
}
return boost::report_errors();

View File

@ -8,18 +8,13 @@
#include <boost/config.hpp>
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
#if defined(BOOST_NO_CXX11_HDR_TUPLE) || \
defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
# error "does not meet requirements"
#endif
#include <tuple>
#include <boost/fusion/include/std_tuple.hpp>
#define FUSION_SEQUENCE std::tuple
#include "convert.hpp"
#else
int main()
{
}
#endif

View File

@ -6,9 +6,10 @@
// at http://www.boost.org/LICENSE_1_0.txt)
//
#include <boost/config.hpp>
#ifdef BOOST_NO_CXX11_HDR_ARRAY
int main() {}
#else
# error "does not meet requirements"
#endif
#ifdef BOOST_MSVC
#pragma warning(disable:4180)
@ -46,4 +47,3 @@ int main()
return boost::report_errors();
}
#endif

View File

@ -8,8 +8,10 @@
#include <boost/config.hpp>
// adapted/std_tuple.hpp only supports implementations using variadic templates
#if !defined(BOOST_NO_CXX11_HDR_TUPLE) && \
!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
#if defined(BOOST_NO_CXX11_HDR_TUPLE) || \
defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
# error "does not meet requirements"
#endif
#include <boost/detail/lightweight_test.hpp>
#include <boost/fusion/adapted/std_tuple.hpp>
@ -19,8 +21,7 @@
#include <tuple>
#include <string>
int
main()
int main()
{
using namespace boost::fusion;
using namespace boost;
@ -34,13 +35,3 @@ main()
return boost::report_errors();
}
#else
int
main()
{
return 0;
}
#endif

View File

@ -8,8 +8,10 @@
// The std_tuple_iterator adaptor only supports implementations
// using variadic templates
#if !defined(BOOST_NO_CXX11_HDR_TUPLE) && \
!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
#if defined(BOOST_NO_CXX11_HDR_TUPLE) || \
defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
# error "does not meet requirements"
#endif
#include <boost/fusion/adapted/std_tuple.hpp>
@ -17,20 +19,8 @@
#define FUSION_TRAVERSAL_TAG random_access_traversal_tag
#include "./iterator.hpp"
int
main()
int main()
{
test();
return boost::report_errors();
}
#else
int
main()
{
return 0;
}
#endif