mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-15 21:32:22 +02:00
Compare commits
9 Commits
more-tests
...
boost-1.64
Author | SHA1 | Date | |
---|---|---|---|
715a7fb729 | |||
3b96c3b70b | |||
904d3c2c01 | |||
0263c75cd8 | |||
53ba3de15a | |||
d6c853f7ad | |||
dc55e5e103 | |||
1646a7252b | |||
dae9964b15 |
@ -23,7 +23,8 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, < 1910)
|
||||
// MSVC variadics at this point in time is not ready yet (ICE!)
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900))
|
||||
# if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
|
||||
# undef BOOST_FUSION_HAS_VARIADIC_DEQUE
|
||||
# endif
|
||||
|
@ -23,7 +23,8 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, < 1910)
|
||||
// MSVC variadics at this point in time is not ready yet (ICE!)
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900))
|
||||
# if defined(BOOST_FUSION_HAS_VARIADIC_MAP)
|
||||
# undef BOOST_FUSION_HAS_VARIADIC_MAP
|
||||
# endif
|
||||
|
@ -27,7 +27,8 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, < 1910)
|
||||
// Sometimes, MSVC 12 shows compile error with std::size_t of template parameter.
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1800))
|
||||
# if defined(BOOST_FUSION_HAS_VARIADIC_VECTOR)
|
||||
# undef BOOST_FUSION_HAS_VARIADIC_VECTOR
|
||||
# endif
|
||||
|
@ -1,13 +1,13 @@
|
||||
/*=============================================================================
|
||||
Copyright (c) 2017 Kohei Takahashi
|
||||
Copyright (c) 2001-2009 Joel de Guzman
|
||||
|
||||
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_STD_ARRAY)
|
||||
#define FUSION_INCLUDE_STD_ARRAY
|
||||
#if !defined(FUSION_INCLUDE_ADAPT_ADT_NAMED)
|
||||
#define FUSION_INCLUDE_ADAPT_ADT_NAMED
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <boost/fusion/adapted/std_array.hpp>
|
||||
#include <boost/fusion/adapted/adt/adapt_adt_named.hpp>
|
||||
|
||||
#endif
|
463
test/Jamfile
463
test/Jamfile
@ -1,7 +1,6 @@
|
||||
##==============================================================================
|
||||
# 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
|
||||
@ -9,7 +8,6 @@
|
||||
#==============================================================================
|
||||
# bring in rules for testing
|
||||
import testing ;
|
||||
import ../../config/checks/config : requires ;
|
||||
|
||||
project
|
||||
: requirements
|
||||
@ -18,237 +16,246 @@ 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 : :
|
||||
: [ 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 ]
|
||||
[ compile sequence/issue11932.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_nest.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/set_nest.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 ]
|
||||
[ 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 : : : : ]
|
||||
|
||||
[ 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 : : : : ]
|
||||
|
||||
;
|
||||
}
|
||||
|
@ -9,36 +9,28 @@
|
||||
#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, bind1st<std::equal_to<double> >(2)) == 1);
|
||||
BOOST_TEST(boost::fusion::count_if(t, boost::lambda::_1 == 2) == 1);
|
||||
}
|
||||
|
||||
{
|
||||
boost::fusion::vector<int, short, double> t(1, 2, 3.3);
|
||||
BOOST_TEST(boost::fusion::count_if(t, bind1st<std::equal_to<double> >(3)) == 0);
|
||||
BOOST_TEST(boost::fusion::count_if(t, boost::lambda::_1 == 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(), bind1st<std::greater_equal<int> >(2)) == 2);
|
||||
BOOST_TEST(boost::fusion::count_if(mpl_vec(), bind1st<std::less<int> >(2)) == 1);
|
||||
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);
|
||||
}
|
||||
|
||||
return boost::report_errors();
|
||||
|
@ -8,13 +8,18 @@
|
||||
|
||||
#include <boost/config.hpp>
|
||||
|
||||
#if defined(BOOST_NO_CXX11_HDR_TUPLE) || \
|
||||
defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
||||
# error "does not meet requirements"
|
||||
#endif
|
||||
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
||||
|
||||
#include <tuple>
|
||||
#include <boost/fusion/include/std_tuple.hpp>
|
||||
|
||||
#define FUSION_SEQUENCE std::tuple
|
||||
#include "convert.hpp"
|
||||
|
||||
#else
|
||||
|
||||
int main()
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -1,46 +0,0 @@
|
||||
/*=============================================================================
|
||||
Copyright (c) 2016 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)
|
||||
==============================================================================*/
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/fusion/include/vector.hpp>
|
||||
#include <boost/fusion/include/list.hpp>
|
||||
#include <boost/fusion/include/deque.hpp>
|
||||
|
||||
#include <boost/tuple/tuple.hpp>
|
||||
#include <boost/fusion/include/boost_tuple.hpp>
|
||||
|
||||
#ifndef BOOST_NO_CXX11_HDR_TUPLE
|
||||
#include <tuple>
|
||||
#include <boost/fusion/include/std_tuple.hpp>
|
||||
#endif
|
||||
|
||||
#include <boost/fusion/include/mpl.hpp>
|
||||
#include <boost/mpl/transform.hpp>
|
||||
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
#include <boost/mpl/assert.hpp>
|
||||
|
||||
struct left
|
||||
{
|
||||
template <typename L, typename> struct apply { typedef L type; };
|
||||
};
|
||||
|
||||
template <typename Seq> struct test
|
||||
{
|
||||
typedef typename boost::mpl::transform<Seq, Seq, left>::type type;
|
||||
};
|
||||
|
||||
using namespace boost::fusion;
|
||||
BOOST_MPL_ASSERT((boost::is_same<test<boost::fusion::vector<> >::type, boost::fusion::vector<> >));
|
||||
BOOST_MPL_ASSERT((boost::is_same<test<boost::fusion::list<> >::type, boost::fusion::list<> >));
|
||||
BOOST_MPL_ASSERT((boost::is_same<test<boost::fusion::deque<> >::type, boost::fusion::deque<> >));
|
||||
|
||||
BOOST_MPL_ASSERT((boost::is_same<test<boost::tuples::tuple<> >::type, boost::tuples::tuple<> >));
|
||||
|
||||
#ifndef BOOST_NO_CXX11_HDR_TUPLE
|
||||
BOOST_MPL_ASSERT((boost::is_same<test<std::tuple<> >::type, std::tuple<> >));
|
||||
#endif
|
@ -1,71 +0,0 @@
|
||||
/*=============================================================================
|
||||
Copyright (C) 2016 Kohei Takahshi
|
||||
|
||||
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)
|
||||
==============================================================================*/
|
||||
#include <utility>
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/fusion/container/map/map.hpp>
|
||||
#include <boost/core/lightweight_test.hpp>
|
||||
|
||||
template <typename C>
|
||||
void test_copy()
|
||||
{
|
||||
C src;
|
||||
C dst = src;
|
||||
(void)dst;
|
||||
}
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
||||
template <typename C>
|
||||
void test_move()
|
||||
{
|
||||
C src;
|
||||
C dst = std::move(src);
|
||||
(void)dst;
|
||||
}
|
||||
#endif
|
||||
|
||||
template <typename C>
|
||||
void test_all()
|
||||
{
|
||||
test_copy<C>();
|
||||
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
||||
test_move<C>();
|
||||
#endif
|
||||
}
|
||||
|
||||
struct k1;
|
||||
struct k2;
|
||||
struct k3;
|
||||
struct k4;
|
||||
|
||||
void
|
||||
test()
|
||||
{
|
||||
using namespace boost::fusion;
|
||||
|
||||
test_all<map<pair<k1, map<> > > >();
|
||||
test_all<map<pair<k1, map<> >, pair<k2, int> > >();
|
||||
test_all<map<pair<k1, int>, pair<k2, map<> > > >();
|
||||
test_all<map<pair<k1, int>, pair<k2, map<> >, pair<k3, float> > >();
|
||||
|
||||
test_all<map<pair<k1, map<pair<k2, int> > > > >();
|
||||
test_all<map<pair<k1, map<pair<k2, int> > >, pair<k3, int> > >();
|
||||
test_all<map<pair<k1, int>, pair<k2, map<pair<k3, int> > > > >();
|
||||
test_all<map<pair<k1, int>, pair<k2, map<pair<k3, int> > >, pair<k4, float> > >();
|
||||
|
||||
test_all<map<pair<k1, map<pair<k2, int>, pair<k3, float> > > > >();
|
||||
test_all<map<pair<k1, map<pair<k2, int>, pair<k3, float> > >, pair<k4, int> > >();
|
||||
test_all<map<pair<k1, int>, map<pair<k2, int>, pair<k3, float> > > >();
|
||||
test_all<map<pair<k1, int>, map<pair<k2, int>, pair<k3, float> >, pair<k4, float> > >();
|
||||
}
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
test();
|
||||
return boost::report_errors();
|
||||
}
|
||||
|
@ -1,64 +0,0 @@
|
||||
/*=============================================================================
|
||||
Copyright (C) 2016 Kohei Takahshi
|
||||
|
||||
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)
|
||||
==============================================================================*/
|
||||
#include <utility>
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/fusion/container/set/set.hpp>
|
||||
#include <boost/core/lightweight_test.hpp>
|
||||
|
||||
template <typename C>
|
||||
void test_copy()
|
||||
{
|
||||
C src;
|
||||
C dst = src;
|
||||
(void)dst;
|
||||
}
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
||||
template <typename C>
|
||||
void test_move()
|
||||
{
|
||||
C src;
|
||||
C dst = std::move(src);
|
||||
(void)dst;
|
||||
}
|
||||
#endif
|
||||
|
||||
template <typename C>
|
||||
void test_all()
|
||||
{
|
||||
test_copy<C>();
|
||||
#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
||||
test_move<C>();
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
test()
|
||||
{
|
||||
using namespace boost::fusion;
|
||||
|
||||
test_all<set<set<> > >();
|
||||
test_all<set<set<>, int> >();
|
||||
test_all<set<int, set<> > >();
|
||||
test_all<set<int, set<>, float> >();
|
||||
|
||||
test_all<set<set<int> > >();
|
||||
test_all<set<set<int>, int> >();
|
||||
test_all<set<int, set<int> > >();
|
||||
test_all<set<int, set<int>, float> >();
|
||||
|
||||
test_all<set<set<int>, float> >();
|
||||
test_all<set<set<int>, float, int> >();
|
||||
}
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
test();
|
||||
return boost::report_errors();
|
||||
}
|
||||
|
@ -6,10 +6,9 @@
|
||||
// at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
#include <boost/config.hpp>
|
||||
|
||||
#ifdef BOOST_NO_CXX11_HDR_ARRAY
|
||||
# error "does not meet requirements"
|
||||
#endif
|
||||
int main() {}
|
||||
#else
|
||||
|
||||
#ifdef BOOST_MSVC
|
||||
#pragma warning(disable:4180)
|
||||
@ -47,3 +46,4 @@ int main()
|
||||
|
||||
return boost::report_errors();
|
||||
}
|
||||
#endif
|
||||
|
@ -8,10 +8,8 @@
|
||||
#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)
|
||||
# error "does not meet requirements"
|
||||
#endif
|
||||
#if !defined(BOOST_NO_CXX11_HDR_TUPLE) && \
|
||||
!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
||||
|
||||
#include <boost/detail/lightweight_test.hpp>
|
||||
#include <boost/fusion/adapted/std_tuple.hpp>
|
||||
@ -21,7 +19,8 @@
|
||||
#include <tuple>
|
||||
#include <string>
|
||||
|
||||
int main()
|
||||
int
|
||||
main()
|
||||
{
|
||||
using namespace boost::fusion;
|
||||
using namespace boost;
|
||||
@ -35,3 +34,13 @@ int main()
|
||||
|
||||
return boost::report_errors();
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -8,10 +8,8 @@
|
||||
|
||||
// The std_tuple_iterator adaptor only supports implementations
|
||||
// using variadic templates
|
||||
#if defined(BOOST_NO_CXX11_HDR_TUPLE) || \
|
||||
defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
||||
# error "does not meet requirements"
|
||||
#endif
|
||||
#if !defined(BOOST_NO_CXX11_HDR_TUPLE) && \
|
||||
!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
||||
|
||||
#include <boost/fusion/adapted/std_tuple.hpp>
|
||||
|
||||
@ -19,8 +17,20 @@
|
||||
#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
|
||||
|
||||
|
Reference in New Issue
Block a user