From 0e2bbd51ce2f1847454f6496c0d159dd268e9fcd Mon Sep 17 00:00:00 2001 From: Paul Mensonides Date: Fri, 24 Mar 2006 21:34:52 +0000 Subject: [PATCH 01/21] added x-refs [SVN r33472] --- doc/ref/iteration_depth.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/ref/iteration_depth.html b/doc/ref/iteration_depth.html index abb9c1f..51cb117 100644 --- a/doc/ref/iteration_depth.html +++ b/doc/ref/iteration_depth.html @@ -16,6 +16,11 @@ If a file-iteration is not in progress, this macro expands to 0.  Otherwise, it expands to the current depth of file-iteration. +

See Also

+

Requirements

Header:  <boost/preprocessor/iteration/iterate.hpp> From b14b395cec34dd7e5ea55fad9da1e9ebb9dc9a15 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sun, 23 Jul 2006 20:45:18 +0000 Subject: [PATCH 02/21] Fix various inspection errors: add missing copyright and license info. [SVN r34683] --- doc/acknowledgements.html | 18 ++++++++++-------- doc/bibliography.html | 18 ++++++++++-------- doc/contents.html | 7 +++++++ doc/data.html | 8 ++++++++ doc/data/arrays.html | 10 ++++++++++ doc/data/lists.html | 10 ++++++++++ doc/data/sequences.html | 10 ++++++++++ doc/data/tuples.html | 10 ++++++++++ doc/examples.html | 8 ++++++++ doc/headers.html | 8 ++++++++ doc/headers/arithmetic.html | 10 ++++++++++ doc/headers/arithmetic/add.html | 10 ++++++++++ doc/headers/arithmetic/dec.html | 10 ++++++++++ doc/headers/arithmetic/div.html | 10 ++++++++++ doc/headers/arithmetic/inc.html | 10 ++++++++++ doc/headers/arithmetic/mod.html | 10 ++++++++++ doc/headers/arithmetic/mul.html | 10 ++++++++++ doc/headers/arithmetic/sub.html | 10 ++++++++++ doc/headers/array.html | 10 ++++++++++ doc/headers/array/data.html | 10 ++++++++++ doc/headers/array/elem.html | 10 ++++++++++ doc/headers/array/insert.html | 10 ++++++++++ doc/headers/array/pop_back.html | 10 ++++++++++ doc/headers/array/pop_front.html | 10 ++++++++++ doc/headers/array/push_back.html | 10 ++++++++++ doc/headers/array/push_front.html | 10 ++++++++++ doc/headers/array/remove.html | 10 ++++++++++ doc/headers/array/replace.html | 10 ++++++++++ doc/headers/array/reverse.html | 10 ++++++++++ doc/headers/array/size.html | 10 ++++++++++ doc/headers/assert_msg.html | 10 ++++++++++ doc/headers/cat.html | 10 ++++++++++ doc/headers/comma.html | 10 ++++++++++ doc/headers/comma_if.html | 10 ++++++++++ doc/headers/comparison.html | 10 ++++++++++ doc/headers/comparison/equal.html | 10 ++++++++++ doc/headers/comparison/greater.html | 10 ++++++++++ doc/headers/comparison/greater_equal.html | 10 ++++++++++ doc/headers/comparison/less.html | 10 ++++++++++ doc/headers/comparison/less_equal.html | 10 ++++++++++ doc/headers/comparison/not_equal.html | 10 ++++++++++ doc/headers/config/limits.html | 10 ++++++++++ doc/headers/control.html | 10 ++++++++++ doc/headers/control/deduce_d.html | 10 ++++++++++ doc/headers/control/expr_if.html | 10 ++++++++++ doc/headers/control/expr_iif.html | 10 ++++++++++ doc/headers/control/if.html | 10 ++++++++++ doc/headers/control/iif.html | 10 ++++++++++ doc/headers/control/while.html | 10 ++++++++++ doc/headers/debug.html | 10 ++++++++++ doc/headers/debug/assert.html | 10 ++++++++++ doc/headers/debug/line.html | 10 ++++++++++ doc/headers/dec.html | 10 ++++++++++ doc/headers/empty.html | 10 ++++++++++ doc/headers/enum.html | 10 ++++++++++ doc/headers/enum_params.html | 10 ++++++++++ doc/headers/enum_shifted.html | 10 ++++++++++ doc/headers/enum_shifted_params.html | 10 ++++++++++ doc/headers/epwad.html | 10 ++++++++++ doc/headers/epwd.html | 10 ++++++++++ doc/headers/expand.html | 10 ++++++++++ doc/headers/expr_if.html | 10 ++++++++++ doc/headers/facilities.html | 10 ++++++++++ doc/headers/facilities/apply.html | 10 ++++++++++ doc/headers/facilities/empty.html | 10 ++++++++++ doc/headers/facilities/expand.html | 10 ++++++++++ doc/headers/facilities/identity.html | 10 ++++++++++ doc/headers/facilities/intercept.html | 10 ++++++++++ doc/headers/for.html | 10 ++++++++++ doc/headers/identity.html | 10 ++++++++++ doc/headers/if.html | 10 ++++++++++ doc/headers/inc.html | 10 ++++++++++ doc/headers/iterate.html | 10 ++++++++++ doc/headers/iteration.html | 10 ++++++++++ doc/headers/iteration/iterate.html | 10 ++++++++++ doc/headers/iteration/local.html | 10 ++++++++++ doc/headers/iteration/self.html | 10 ++++++++++ doc/headers/library.html | 10 ++++++++++ doc/headers/limits.html | 10 ++++++++++ doc/headers/list.html | 10 ++++++++++ doc/headers/list/adt.html | 10 ++++++++++ doc/headers/list/append.html | 10 ++++++++++ doc/headers/list/at.html | 10 ++++++++++ doc/headers/list/cat.html | 10 ++++++++++ doc/headers/list/enum.html | 10 ++++++++++ doc/headers/list/filter.html | 10 ++++++++++ doc/headers/list/first_n.html | 10 ++++++++++ doc/headers/list/fold_left.html | 10 ++++++++++ doc/headers/list/fold_right.html | 10 ++++++++++ doc/headers/list/for_each.html | 10 ++++++++++ doc/headers/list/for_each_i.html | 10 ++++++++++ doc/headers/list/for_each_product.html | 10 ++++++++++ doc/headers/list/rest_n.html | 10 ++++++++++ doc/headers/list/reverse.html | 10 ++++++++++ doc/headers/list/size.html | 10 ++++++++++ doc/headers/list/to_tuple.html | 10 ++++++++++ doc/headers/list/transform.html | 10 ++++++++++ doc/headers/logical.html | 10 ++++++++++ doc/headers/logical/and.html | 10 ++++++++++ doc/headers/logical/bitand.html | 10 ++++++++++ doc/headers/logical/bitnor.html | 10 ++++++++++ doc/headers/logical/bitor.html | 10 ++++++++++ doc/headers/logical/bitxor.html | 10 ++++++++++ doc/headers/logical/bool.html | 10 ++++++++++ doc/headers/logical/compl.html | 10 ++++++++++ doc/headers/logical/nor.html | 10 ++++++++++ doc/headers/logical/not.html | 10 ++++++++++ doc/headers/logical/or.html | 10 ++++++++++ doc/headers/logical/xor.html | 10 ++++++++++ doc/headers/max.html | 10 ++++++++++ doc/headers/min.html | 10 ++++++++++ doc/headers/preprocessor.html | 10 ++++++++++ doc/headers/punctuation.html | 10 ++++++++++ doc/headers/punctuation/comma.html | 10 ++++++++++ doc/headers/punctuation/comma_if.html | 10 ++++++++++ doc/headers/punctuation/paren.html | 10 ++++++++++ doc/headers/punctuation/paren_if.html | 10 ++++++++++ doc/headers/repeat.html | 10 ++++++++++ doc/headers/repeat_2nd.html | 10 ++++++++++ doc/headers/repeat_3rd.html | 10 ++++++++++ doc/headers/repeat_from_to.html | 10 ++++++++++ doc/headers/repeat_from_to_2nd.html | 10 ++++++++++ doc/headers/repeat_from_to_3rd.html | 10 ++++++++++ doc/headers/repetition.html | 10 ++++++++++ doc/headers/repetition/deduce_r.html | 10 ++++++++++ doc/headers/repetition/deduce_z.html | 10 ++++++++++ doc/headers/repetition/enum.html | 10 ++++++++++ doc/headers/repetition/enum_binary_params.html | 10 ++++++++++ doc/headers/repetition/enum_params.html | 10 ++++++++++ doc/headers/repetition/enum_shifted.html | 10 ++++++++++ .../repetition/enum_shifted_params.html | 10 ++++++++++ doc/headers/repetition/enum_trailing.html | 10 ++++++++++ .../repetition/enum_trailing_params.html | 10 ++++++++++ doc/headers/repetition/epwad.html | 10 ++++++++++ doc/headers/repetition/epwd.html | 10 ++++++++++ doc/headers/repetition/esbp.html | 10 ++++++++++ doc/headers/repetition/etbp.html | 10 ++++++++++ doc/headers/repetition/for.html | 10 ++++++++++ doc/headers/repetition/repeat.html | 10 ++++++++++ doc/headers/repetition/repeat_from_to.html | 10 ++++++++++ doc/headers/selection.html | 10 ++++++++++ doc/headers/selection/max.html | 10 ++++++++++ doc/headers/selection/min.html | 10 ++++++++++ doc/headers/seq.html | 10 ++++++++++ doc/headers/seq/cat.html | 10 ++++++++++ doc/headers/seq/elem.html | 10 ++++++++++ doc/headers/seq/enum.html | 10 ++++++++++ doc/headers/seq/filter.html | 10 ++++++++++ doc/headers/seq/first_n.html | 10 ++++++++++ doc/headers/seq/fold_left.html | 10 ++++++++++ doc/headers/seq/fold_right.html | 10 ++++++++++ doc/headers/seq/for_each.html | 10 ++++++++++ doc/headers/seq/for_each_i.html | 10 ++++++++++ doc/headers/seq/for_each_product.html | 10 ++++++++++ doc/headers/seq/insert.html | 10 ++++++++++ doc/headers/seq/pop_back.html | 10 ++++++++++ doc/headers/seq/pop_front.html | 10 ++++++++++ doc/headers/seq/push_back.html | 10 ++++++++++ doc/headers/seq/push_front.html | 10 ++++++++++ doc/headers/seq/remove.html | 10 ++++++++++ doc/headers/seq/replace.html | 10 ++++++++++ doc/headers/seq/rest_n.html | 10 ++++++++++ doc/headers/seq/reverse.html | 10 ++++++++++ doc/headers/seq/seq.html | 10 ++++++++++ doc/headers/seq/size.html | 10 ++++++++++ doc/headers/seq/subseq.html | 10 ++++++++++ doc/headers/seq/to_array.html | 10 ++++++++++ doc/headers/seq/to_tuple.html | 10 ++++++++++ doc/headers/seq/transform.html | 10 ++++++++++ doc/headers/slot.html | 10 ++++++++++ doc/headers/slot/counter.html | 10 ++++++++++ doc/headers/slot/slot.html | 10 ++++++++++ doc/headers/stringize.html | 10 ++++++++++ doc/headers/tuple.html | 10 ++++++++++ doc/headers/tuple/eat.html | 10 ++++++++++ doc/headers/tuple/elem.html | 10 ++++++++++ doc/headers/tuple/rem.html | 10 ++++++++++ doc/headers/tuple/reverse.html | 10 ++++++++++ doc/headers/tuple/to_list.html | 10 ++++++++++ doc/headers/tuple/to_seq.html | 10 ++++++++++ doc/headers/while.html | 10 ++++++++++ doc/headers/wstringize.html | 10 ++++++++++ doc/index.html | 8 ++++++++ doc/miscellanea.html | 8 ++++++++ doc/ref.html | 8 ++++++++ doc/ref/add.html | 10 ++++++++++ doc/ref/add_d.html | 10 ++++++++++ doc/ref/and.html | 10 ++++++++++ doc/ref/apply.html | 10 ++++++++++ doc/ref/array_data.html | 10 ++++++++++ doc/ref/array_elem.html | 10 ++++++++++ doc/ref/array_insert.html | 10 ++++++++++ doc/ref/array_insert_d.html | 10 ++++++++++ doc/ref/array_pop_back.html | 10 ++++++++++ doc/ref/array_pop_back_z.html | 10 ++++++++++ doc/ref/array_pop_front.html | 10 ++++++++++ doc/ref/array_pop_front_z.html | 10 ++++++++++ doc/ref/array_push_back.html | 10 ++++++++++ doc/ref/array_push_front.html | 10 ++++++++++ doc/ref/array_remove.html | 10 ++++++++++ doc/ref/array_remove_d.html | 10 ++++++++++ doc/ref/array_replace.html | 10 ++++++++++ doc/ref/array_replace_d.html | 10 ++++++++++ doc/ref/array_reverse.html | 10 ++++++++++ doc/ref/array_size.html | 10 ++++++++++ doc/ref/assert.html | 10 ++++++++++ doc/ref/assert_msg.html | 10 ++++++++++ doc/ref/assign_slot.html | 10 ++++++++++ doc/ref/bitand.html | 10 ++++++++++ doc/ref/bitnor.html | 10 ++++++++++ doc/ref/bitor.html | 10 ++++++++++ doc/ref/bitxor.html | 10 ++++++++++ doc/ref/bool.html | 10 ++++++++++ doc/ref/cat.html | 10 ++++++++++ doc/ref/comma.html | 10 ++++++++++ doc/ref/comma_if.html | 10 ++++++++++ doc/ref/compl.html | 10 ++++++++++ doc/ref/config_extended_line_info.html | 10 ++++++++++ doc/ref/counter.html | 10 ++++++++++ doc/ref/dec.html | 10 ++++++++++ doc/ref/deduce_d.html | 10 ++++++++++ doc/ref/deduce_r.html | 10 ++++++++++ doc/ref/deduce_z.html | 10 ++++++++++ doc/ref/div.html | 10 ++++++++++ doc/ref/div_d.html | 10 ++++++++++ doc/ref/empty.html | 10 ++++++++++ doc/ref/enum.html | 10 ++++++++++ doc/ref/enum_binary_params.html | 10 ++++++++++ doc/ref/enum_binary_params_z.html | 10 ++++++++++ doc/ref/enum_params.html | 10 ++++++++++ doc/ref/enum_params_with_a_default.html | 10 ++++++++++ doc/ref/enum_params_with_defaults.html | 10 ++++++++++ doc/ref/enum_params_z.html | 10 ++++++++++ doc/ref/enum_shifted.html | 10 ++++++++++ doc/ref/enum_shifted_params.html | 10 ++++++++++ doc/ref/enum_shifted_params_z.html | 10 ++++++++++ doc/ref/enum_shifted_z.html | 10 ++++++++++ doc/ref/enum_trailing.html | 10 ++++++++++ doc/ref/enum_trailing_params.html | 10 ++++++++++ doc/ref/enum_trailing_params_z.html | 10 ++++++++++ doc/ref/enum_trailing_z.html | 10 ++++++++++ doc/ref/enum_z.html | 10 ++++++++++ doc/ref/equal.html | 10 ++++++++++ doc/ref/equal_d.html | 10 ++++++++++ doc/ref/esbp.html | 10 ++++++++++ doc/ref/esbpz.html | 10 ++++++++++ doc/ref/etbp.html | 10 ++++++++++ doc/ref/etbpz.html | 10 ++++++++++ doc/ref/expand.html | 10 ++++++++++ doc/ref/expr_if.html | 10 ++++++++++ doc/ref/expr_iif.html | 10 ++++++++++ doc/ref/filename_x.html | 10 ++++++++++ doc/ref/for.html | 10 ++++++++++ doc/ref/for_r.html | 10 ++++++++++ doc/ref/frame_finish.html | 10 ++++++++++ doc/ref/frame_flags.html | 10 ++++++++++ doc/ref/frame_iteration.html | 10 ++++++++++ doc/ref/frame_start.html | 10 ++++++++++ doc/ref/greater.html | 10 ++++++++++ doc/ref/greater_d.html | 10 ++++++++++ doc/ref/greater_equal.html | 10 ++++++++++ doc/ref/greater_equal_d.html | 10 ++++++++++ doc/ref/identity.html | 10 ++++++++++ doc/ref/if.html | 10 ++++++++++ doc/ref/iif.html | 10 ++++++++++ doc/ref/inc.html | 10 ++++++++++ doc/ref/include_self.html | 10 ++++++++++ doc/ref/indirect_self.html | 10 ++++++++++ doc/ref/intercept.html | 10 ++++++++++ doc/ref/is_iterating.html | 10 ++++++++++ doc/ref/is_selfish.html | 10 ++++++++++ doc/ref/iterate.html | 10 ++++++++++ doc/ref/iteration.html | 10 ++++++++++ doc/ref/iteration_depth.html | 10 ++++++++++ doc/ref/iteration_finish.html | 10 ++++++++++ doc/ref/iteration_flags.html | 10 ++++++++++ doc/ref/iteration_limits.html | 10 ++++++++++ doc/ref/iteration_params_x.html | 10 ++++++++++ doc/ref/iteration_start.html | 10 ++++++++++ doc/ref/less.html | 10 ++++++++++ doc/ref/less_d.html | 10 ++++++++++ doc/ref/less_equal.html | 10 ++++++++++ doc/ref/less_equal_d.html | 10 ++++++++++ doc/ref/limit_dim.html | 10 ++++++++++ doc/ref/limit_for.html | 10 ++++++++++ doc/ref/limit_iteration.html | 10 ++++++++++ doc/ref/limit_iteration_dim.html | 10 ++++++++++ doc/ref/limit_mag.html | 10 ++++++++++ doc/ref/limit_repeat.html | 10 ++++++++++ doc/ref/limit_seq.html | 10 ++++++++++ doc/ref/limit_slot_count.html | 10 ++++++++++ doc/ref/limit_slot_sig.html | 10 ++++++++++ doc/ref/limit_tuple.html | 10 ++++++++++ doc/ref/limit_while.html | 10 ++++++++++ doc/ref/line.html | 10 ++++++++++ doc/ref/list_append.html | 10 ++++++++++ doc/ref/list_append_d.html | 10 ++++++++++ doc/ref/list_at.html | 10 ++++++++++ doc/ref/list_at_d.html | 10 ++++++++++ doc/ref/list_cat.html | 10 ++++++++++ doc/ref/list_cat_d.html | 10 ++++++++++ doc/ref/list_cons.html | 10 ++++++++++ doc/ref/list_enum.html | 10 ++++++++++ doc/ref/list_enum_r.html | 10 ++++++++++ doc/ref/list_filter.html | 10 ++++++++++ doc/ref/list_filter_d.html | 10 ++++++++++ doc/ref/list_first.html | 10 ++++++++++ doc/ref/list_first_n.html | 10 ++++++++++ doc/ref/list_first_n_d.html | 10 ++++++++++ doc/ref/list_fold_left.html | 10 ++++++++++ doc/ref/list_fold_left_2nd.html | 10 ++++++++++ doc/ref/list_fold_left_2nd_d.html | 10 ++++++++++ doc/ref/list_fold_left_d.html | 10 ++++++++++ doc/ref/list_fold_left_d_old.html | 10 ++++++++++ doc/ref/list_fold_right.html | 10 ++++++++++ doc/ref/list_fold_right_2nd.html | 10 ++++++++++ doc/ref/list_fold_right_2nd_d.html | 10 ++++++++++ doc/ref/list_fold_right_d.html | 10 ++++++++++ doc/ref/list_fold_right_d_old.html | 10 ++++++++++ doc/ref/list_for_each.html | 10 ++++++++++ doc/ref/list_for_each_i.html | 10 ++++++++++ doc/ref/list_for_each_i_r.html | 10 ++++++++++ doc/ref/list_for_each_product.html | 10 ++++++++++ doc/ref/list_for_each_product_r.html | 10 ++++++++++ doc/ref/list_for_each_r.html | 10 ++++++++++ doc/ref/list_is_cons.html | 10 ++++++++++ doc/ref/list_is_nil.html | 10 ++++++++++ doc/ref/list_nil.html | 10 ++++++++++ doc/ref/list_rest.html | 10 ++++++++++ doc/ref/list_rest_n.html | 10 ++++++++++ doc/ref/list_rest_n_d.html | 10 ++++++++++ doc/ref/list_reverse.html | 10 ++++++++++ doc/ref/list_reverse_d.html | 10 ++++++++++ doc/ref/list_size.html | 10 ++++++++++ doc/ref/list_size_d.html | 10 ++++++++++ doc/ref/list_to_tuple.html | 10 ++++++++++ doc/ref/list_to_tuple_r.html | 10 ++++++++++ doc/ref/list_transform.html | 10 ++++++++++ doc/ref/list_transform_d.html | 10 ++++++++++ doc/ref/local_iterate.html | 10 ++++++++++ doc/ref/local_limits.html | 10 ++++++++++ doc/ref/local_macro.html | 10 ++++++++++ doc/ref/lparen.html | 10 ++++++++++ doc/ref/lparen_if.html | 10 ++++++++++ doc/ref/max.html | 10 ++++++++++ doc/ref/max_d.html | 10 ++++++++++ doc/ref/min.html | 10 ++++++++++ doc/ref/min_d.html | 10 ++++++++++ doc/ref/mod.html | 10 ++++++++++ doc/ref/mod_d.html | 10 ++++++++++ doc/ref/mul.html | 10 ++++++++++ doc/ref/mul_d.html | 10 ++++++++++ doc/ref/nil.html | 10 ++++++++++ doc/ref/nor.html | 10 ++++++++++ doc/ref/not.html | 10 ++++++++++ doc/ref/not_equal.html | 10 ++++++++++ doc/ref/not_equal_d.html | 10 ++++++++++ doc/ref/or.html | 10 ++++++++++ doc/ref/relative_finish.html | 10 ++++++++++ doc/ref/relative_flags.html | 10 ++++++++++ doc/ref/relative_iteration.html | 10 ++++++++++ doc/ref/relative_start.html | 10 ++++++++++ doc/ref/repeat.html | 10 ++++++++++ doc/ref/repeat_1st.html | 10 ++++++++++ doc/ref/repeat_2nd.html | 10 ++++++++++ doc/ref/repeat_3rd.html | 10 ++++++++++ doc/ref/repeat_from_to.html | 10 ++++++++++ doc/ref/repeat_from_to_1st.html | 10 ++++++++++ doc/ref/repeat_from_to_2nd.html | 10 ++++++++++ doc/ref/repeat_from_to_3rd.html | 10 ++++++++++ doc/ref/repeat_from_to_d.html | 10 ++++++++++ doc/ref/repeat_from_to_d_z.html | 10 ++++++++++ doc/ref/repeat_from_to_z.html | 10 ++++++++++ doc/ref/repeat_z.html | 10 ++++++++++ doc/ref/rparen.html | 10 ++++++++++ doc/ref/rparen_if.html | 10 ++++++++++ doc/ref/seq_cat.html | 10 ++++++++++ doc/ref/seq_cat_s.html | 10 ++++++++++ doc/ref/seq_elem.html | 10 ++++++++++ doc/ref/seq_enum.html | 10 ++++++++++ doc/ref/seq_filter.html | 10 ++++++++++ doc/ref/seq_filter_s.html | 10 ++++++++++ doc/ref/seq_first_n.html | 10 ++++++++++ doc/ref/seq_fold_left.html | 10 ++++++++++ doc/ref/seq_fold_left_s.html | 10 ++++++++++ doc/ref/seq_fold_right.html | 10 ++++++++++ doc/ref/seq_fold_right_s.html | 10 ++++++++++ doc/ref/seq_for_each.html | 10 ++++++++++ doc/ref/seq_for_each_i.html | 10 ++++++++++ doc/ref/seq_for_each_i_r.html | 10 ++++++++++ doc/ref/seq_for_each_product.html | 10 ++++++++++ doc/ref/seq_for_each_product_r.html | 10 ++++++++++ doc/ref/seq_for_each_r.html | 10 ++++++++++ doc/ref/seq_head.html | 10 ++++++++++ doc/ref/seq_insert.html | 10 ++++++++++ doc/ref/seq_nil.html | 10 ++++++++++ doc/ref/seq_pop_back.html | 10 ++++++++++ doc/ref/seq_pop_front.html | 10 ++++++++++ doc/ref/seq_push_back.html | 10 ++++++++++ doc/ref/seq_push_front.html | 10 ++++++++++ doc/ref/seq_remove.html | 10 ++++++++++ doc/ref/seq_replace.html | 10 ++++++++++ doc/ref/seq_rest_n.html | 10 ++++++++++ doc/ref/seq_reverse.html | 10 ++++++++++ doc/ref/seq_reverse_s.html | 10 ++++++++++ doc/ref/seq_size.html | 10 ++++++++++ doc/ref/seq_subseq.html | 10 ++++++++++ doc/ref/seq_tail.html | 10 ++++++++++ doc/ref/seq_to_array.html | 10 ++++++++++ doc/ref/seq_to_tuple.html | 10 ++++++++++ doc/ref/seq_transform.html | 10 ++++++++++ doc/ref/seq_transform_s.html | 10 ++++++++++ doc/ref/slot.html | 10 ++++++++++ doc/ref/stringize.html | 10 ++++++++++ doc/ref/sub.html | 10 ++++++++++ doc/ref/sub_d.html | 10 ++++++++++ doc/ref/tuple_eat.html | 10 ++++++++++ doc/ref/tuple_elem.html | 10 ++++++++++ doc/ref/tuple_rem.html | 10 ++++++++++ doc/ref/tuple_rem_ctor.html | 10 ++++++++++ doc/ref/tuple_reverse.html | 10 ++++++++++ doc/ref/tuple_to_list.html | 10 ++++++++++ doc/ref/tuple_to_seq.html | 10 ++++++++++ doc/ref/update_counter.html | 10 ++++++++++ doc/ref/value.html | 10 ++++++++++ doc/ref/while.html | 10 ++++++++++ doc/ref/while_d.html | 10 ++++++++++ doc/ref/wstringize.html | 10 ++++++++++ doc/ref/xor.html | 10 ++++++++++ doc/styles.css | 7 +++++++ doc/syntax.html | 8 ++++++++ doc/terms.html | 8 ++++++++ doc/terms/evaluated.html | 10 ++++++++++ doc/terms/named_external.html | 10 ++++++++++ doc/title.html | 8 ++++++++ doc/top.html | 8 ++++++++ doc/topics.html | 8 ++++++++ doc/topics/evaluated_slots.html | 10 ++++++++++ doc/topics/file_iteration.html | 10 ++++++++++ doc/topics/incompatible.html | 10 ++++++++++ doc/topics/local_iteration.html | 10 ++++++++++ doc/topics/motivation.html | 10 ++++++++++ doc/topics/problems.html | 10 ++++++++++ doc/topics/reentrancy.html | 10 ++++++++++ doc/topics/techniques.html | 10 ++++++++++ index.html | 8 ++++++++ 446 files changed, 4430 insertions(+), 16 deletions(-) diff --git a/doc/acknowledgements.html b/doc/acknowledgements.html index e9ef104..7fa7960 100644 --- a/doc/acknowledgements.html +++ b/doc/acknowledgements.html @@ -43,13 +43,15 @@ In particular, thanks to Aleksey Gurtovoy for his suggestions and to Ralf W. Grosse-Kunstleve for providing access to several compilers for testing.
-
-
- © Copyright Housemarque Oy 2002 -
-
-Permission to copy, use, modify, sell and distribute this document is granted provided this copyright notice appears in all copies.  -This document is provided "as is" without express or implied warranty and with no claim as to its suitability for any purpose. -
+
+
+ © Copyright Housemarque Oy 2002 +
+
+

Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

+
diff --git a/doc/bibliography.html b/doc/bibliography.html index 7b8ebf7..e6d0d0a 100644 --- a/doc/bibliography.html +++ b/doc/bibliography.html @@ -43,13 +43,15 @@ Abelson, Sussman, Sussman:  Structure and Interpretation of Computer Programs, ISBN 0521576814 -
-
- © Copyright Housemarque Oy 2002 -
-
-Permission to copy, use, modify, sell and distribute this document is granted provided this copyright notice appears in all copies.  -This document is provided "as is" without express or implied warranty and with no claim as to its suitability for any purpose. -
+
+
+ © Copyright Housemarque Oy 2002 +
+
+

Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

+
diff --git a/doc/contents.html b/doc/contents.html index 9a52892..613f646 100644 --- a/doc/contents.html +++ b/doc/contents.html @@ -17,5 +17,12 @@

Examples

Miscellanea

+ + diff --git a/doc/data.html b/doc/data.html index 247025e..c9cf98b 100644 --- a/doc/data.html +++ b/doc/data.html @@ -14,5 +14,13 @@
  • sequences
  • tuples
  • + + + diff --git a/doc/data/arrays.html b/doc/data/arrays.html index 393d5c8..a16f919 100644 --- a/doc/data/arrays.html +++ b/doc/data/arrays.html @@ -38,5 +38,15 @@
  • BOOST_PP_ARRAY_ELEM
  • BOOST_PP_ARRAY_SIZE
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/data/lists.html b/doc/data/lists.html index 98a32c9..640f6f9 100644 --- a/doc/data/lists.html +++ b/doc/data/lists.html @@ -31,5 +31,15 @@
  • BOOST_PP_LIST_REST
  • BOOST_PP_NIL
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/data/sequences.html b/doc/data/sequences.html index d326924..19d158b 100644 --- a/doc/data/sequences.html +++ b/doc/data/sequences.html @@ -60,5 +60,15 @@ BOOST_PP_SEQ_FOLD_RIGHT(INC, BOOST_PP_SEQ_NIL, SEQ)
  • BOOST_PP_SEQ_ELEM
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/data/tuples.html b/doc/data/tuples.html index ee1db6c..4bcdb55 100644 --- a/doc/data/tuples.html +++ b/doc/data/tuples.html @@ -27,5 +27,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/examples.html b/doc/examples.html index 97482db..9846ce7 100644 --- a/doc/examples.html +++ b/doc/examples.html @@ -14,5 +14,13 @@
  • is_integral.cpp
  • linear_fib.c
  • + + + diff --git a/doc/headers.html b/doc/headers.html index 4545253..72f738b 100644 --- a/doc/headers.html +++ b/doc/headers.html @@ -203,5 +203,13 @@
  • while.hpp*
  • wstringize.hpp
  • + + + diff --git a/doc/headers/arithmetic.html b/doc/headers/arithmetic.html index b2c90f6..a76a71a 100644 --- a/doc/headers/arithmetic.html +++ b/doc/headers/arithmetic.html @@ -21,5 +21,15 @@
  • <boost/preprocessor/arithmetic/mul.hpp>
  • <boost/preprocessor/arithmetic/sub.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/arithmetic/add.html b/doc/headers/arithmetic/add.html index c9fb843..98873b2 100644 --- a/doc/headers/arithmetic/add.html +++ b/doc/headers/arithmetic/add.html @@ -16,5 +16,15 @@
  • BOOST_PP_ADD
  • BOOST_PP_ADD_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/arithmetic/dec.html b/doc/headers/arithmetic/dec.html index 2e06a7f..7355021 100644 --- a/doc/headers/arithmetic/dec.html +++ b/doc/headers/arithmetic/dec.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/arithmetic/div.html b/doc/headers/arithmetic/div.html index 63fa1b3..282590d 100644 --- a/doc/headers/arithmetic/div.html +++ b/doc/headers/arithmetic/div.html @@ -16,5 +16,15 @@
  • BOOST_PP_DIV
  • BOOST_PP_DIV_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/arithmetic/inc.html b/doc/headers/arithmetic/inc.html index e0208ca..f172c7d 100644 --- a/doc/headers/arithmetic/inc.html +++ b/doc/headers/arithmetic/inc.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/arithmetic/mod.html b/doc/headers/arithmetic/mod.html index 4d7fec4..1a90a9c 100644 --- a/doc/headers/arithmetic/mod.html +++ b/doc/headers/arithmetic/mod.html @@ -16,5 +16,15 @@
  • BOOST_PP_MOD
  • BOOST_PP_MOD_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/arithmetic/mul.html b/doc/headers/arithmetic/mul.html index 04adf09..64b0a0a 100644 --- a/doc/headers/arithmetic/mul.html +++ b/doc/headers/arithmetic/mul.html @@ -16,5 +16,15 @@
  • BOOST_PP_MUL
  • BOOST_PP_MUL_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/arithmetic/sub.html b/doc/headers/arithmetic/sub.html index 3633bde..57fdacc 100644 --- a/doc/headers/arithmetic/sub.html +++ b/doc/headers/arithmetic/sub.html @@ -16,5 +16,15 @@
  • BOOST_PP_SUB
  • BOOST_PP_SUB_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/array.html b/doc/headers/array.html index 430220a..269e233 100644 --- a/doc/headers/array.html +++ b/doc/headers/array.html @@ -25,5 +25,15 @@
  • <boost/preprocessor/array/reverse.hpp>
  • <boost/preprocessor/array/size.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/array/data.html b/doc/headers/array/data.html index 9729172..7091db8 100644 --- a/doc/headers/array/data.html +++ b/doc/headers/array/data.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/array/elem.html b/doc/headers/array/elem.html index 606219c..364cd20 100644 --- a/doc/headers/array/elem.html +++ b/doc/headers/array/elem.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/array/insert.html b/doc/headers/array/insert.html index bfe9324..1486cba 100644 --- a/doc/headers/array/insert.html +++ b/doc/headers/array/insert.html @@ -16,5 +16,15 @@
  • BOOST_PP_ARRAY_INSERT
  • BOOST_PP_ARRAY_INSERT_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/array/pop_back.html b/doc/headers/array/pop_back.html index 2b660a5..d110836 100644 --- a/doc/headers/array/pop_back.html +++ b/doc/headers/array/pop_back.html @@ -16,5 +16,15 @@
  • BOOST_PP_ARRAY_POP_BACK
  • BOOST_PP_ARRAY_POP_BACK_Z
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/array/pop_front.html b/doc/headers/array/pop_front.html index 7afb850..66ce5b4 100644 --- a/doc/headers/array/pop_front.html +++ b/doc/headers/array/pop_front.html @@ -16,5 +16,15 @@
  • BOOST_PP_ARRAY_POP_FRONT
  • BOOST_PP_ARRAY_POP_FRONT_Z
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/array/push_back.html b/doc/headers/array/push_back.html index 91ada11..de48c2b 100644 --- a/doc/headers/array/push_back.html +++ b/doc/headers/array/push_back.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/array/push_front.html b/doc/headers/array/push_front.html index a0f6601..07b6b02 100644 --- a/doc/headers/array/push_front.html +++ b/doc/headers/array/push_front.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/array/remove.html b/doc/headers/array/remove.html index aa84008..0589aed 100644 --- a/doc/headers/array/remove.html +++ b/doc/headers/array/remove.html @@ -16,5 +16,15 @@
  • BOOST_PP_ARRAY_REMOVE
  • BOOST_PP_ARRAY_REMOVE_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/array/replace.html b/doc/headers/array/replace.html index ab336ab..d7145a5 100644 --- a/doc/headers/array/replace.html +++ b/doc/headers/array/replace.html @@ -16,5 +16,15 @@
  • BOOST_PP_ARRAY_REPLACE
  • BOOST_PP_ARRAY_REPLACE_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/array/reverse.html b/doc/headers/array/reverse.html index dedfc93..fa5b1c5 100644 --- a/doc/headers/array/reverse.html +++ b/doc/headers/array/reverse.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/array/size.html b/doc/headers/array/size.html index f1a7895..7f257a0 100644 --- a/doc/headers/array/size.html +++ b/doc/headers/array/size.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/assert_msg.html b/doc/headers/assert_msg.html index 4b40ecd..064271b 100644 --- a/doc/headers/assert_msg.html +++ b/doc/headers/assert_msg.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/cat.html b/doc/headers/cat.html index 55be6d1..45fc6b0 100644 --- a/doc/headers/cat.html +++ b/doc/headers/cat.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/comma.html b/doc/headers/comma.html index b22186a..f13e41f 100644 --- a/doc/headers/comma.html +++ b/doc/headers/comma.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/comma_if.html b/doc/headers/comma_if.html index 090a7e0..9c68e40 100644 --- a/doc/headers/comma_if.html +++ b/doc/headers/comma_if.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/comparison.html b/doc/headers/comparison.html index ba15f43..84fbd6f 100644 --- a/doc/headers/comparison.html +++ b/doc/headers/comparison.html @@ -20,5 +20,15 @@
  • <boost/preprocessor/comparison/less_equal.hpp>
  • <boost/preprocessor/comparison/not_equal.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/comparison/equal.html b/doc/headers/comparison/equal.html index 15123ca..adee873 100644 --- a/doc/headers/comparison/equal.html +++ b/doc/headers/comparison/equal.html @@ -16,5 +16,15 @@
  • BOOST_PP_EQUAL
  • BOOST_PP_EQUAL_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/comparison/greater.html b/doc/headers/comparison/greater.html index f242edd..12a7869 100644 --- a/doc/headers/comparison/greater.html +++ b/doc/headers/comparison/greater.html @@ -16,5 +16,15 @@
  • BOOST_PP_GREATER
  • BOOST_PP_GREATER_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/comparison/greater_equal.html b/doc/headers/comparison/greater_equal.html index e4e76d5..9802237 100644 --- a/doc/headers/comparison/greater_equal.html +++ b/doc/headers/comparison/greater_equal.html @@ -16,5 +16,15 @@
  • BOOST_PP_GREATER_EQUAL
  • BOOST_PP_GREATER_EQUAL_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/comparison/less.html b/doc/headers/comparison/less.html index 20288c8..ee8f1f7 100644 --- a/doc/headers/comparison/less.html +++ b/doc/headers/comparison/less.html @@ -16,5 +16,15 @@
  • BOOST_PP_LESS
  • BOOST_PP_LESS_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/comparison/less_equal.html b/doc/headers/comparison/less_equal.html index 7809706..ca91153 100644 --- a/doc/headers/comparison/less_equal.html +++ b/doc/headers/comparison/less_equal.html @@ -16,5 +16,15 @@
  • BOOST_PP_LESS_EQUAL
  • BOOST_PP_LESS_EQUAL_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/comparison/not_equal.html b/doc/headers/comparison/not_equal.html index 2ddf2a6..b36ad13 100644 --- a/doc/headers/comparison/not_equal.html +++ b/doc/headers/comparison/not_equal.html @@ -16,5 +16,15 @@
  • BOOST_PP_NOT_EQUAL
  • BOOST_PP_NOT_EQUAL_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/config/limits.html b/doc/headers/config/limits.html index 26b79ad..cc81400 100644 --- a/doc/headers/config/limits.html +++ b/doc/headers/config/limits.html @@ -29,5 +29,15 @@
  • BOOST_PP_LIMIT_TUPLE
  • BOOST_PP_LIMIT_WHILE
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/control.html b/doc/headers/control.html index b8a1684..33c9c18 100644 --- a/doc/headers/control.html +++ b/doc/headers/control.html @@ -20,5 +20,15 @@
  • <boost/preprocessor/control/iif.hpp>
  • <boost/preprocessor/control/while.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/control/deduce_d.html b/doc/headers/control/deduce_d.html index 95d283d..5a96b32 100644 --- a/doc/headers/control/deduce_d.html +++ b/doc/headers/control/deduce_d.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/control/expr_if.html b/doc/headers/control/expr_if.html index bbbc2d9..dcb6426 100644 --- a/doc/headers/control/expr_if.html +++ b/doc/headers/control/expr_if.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/control/expr_iif.html b/doc/headers/control/expr_iif.html index 7e47ec1..5e96ff5 100644 --- a/doc/headers/control/expr_iif.html +++ b/doc/headers/control/expr_iif.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/control/if.html b/doc/headers/control/if.html index 9cb01da..5f3c4a5 100644 --- a/doc/headers/control/if.html +++ b/doc/headers/control/if.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/control/iif.html b/doc/headers/control/iif.html index 4bc26bb..de22554 100644 --- a/doc/headers/control/iif.html +++ b/doc/headers/control/iif.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/control/while.html b/doc/headers/control/while.html index d759749..b67fde6 100644 --- a/doc/headers/control/while.html +++ b/doc/headers/control/while.html @@ -16,5 +16,15 @@
  • BOOST_PP_WHILE
  • BOOST_PP_WHILE_d
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/debug.html b/doc/headers/debug.html index 04ec985..2b18236 100644 --- a/doc/headers/debug.html +++ b/doc/headers/debug.html @@ -16,5 +16,15 @@
  • <boost/preprocessor/debug/assert.hpp>
  • <boost/preprocessor/debug/line.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/debug/assert.html b/doc/headers/debug/assert.html index b7d237b..1db1f7e 100644 --- a/doc/headers/debug/assert.html +++ b/doc/headers/debug/assert.html @@ -16,5 +16,15 @@
  • BOOST_PP_ASSERT
  • BOOST_PP_ASSERT_MSG
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/debug/line.html b/doc/headers/debug/line.html index eed9348..8d18f16 100644 --- a/doc/headers/debug/line.html +++ b/doc/headers/debug/line.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/dec.html b/doc/headers/dec.html index 153b17c..dc997e3 100644 --- a/doc/headers/dec.html +++ b/doc/headers/dec.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/empty.html b/doc/headers/empty.html index 3e8df07..d082c40 100644 --- a/doc/headers/empty.html +++ b/doc/headers/empty.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/enum.html b/doc/headers/enum.html index a0ba01d..191c0dd 100644 --- a/doc/headers/enum.html +++ b/doc/headers/enum.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/enum_params.html b/doc/headers/enum_params.html index ba00a2b..f8c196a 100644 --- a/doc/headers/enum_params.html +++ b/doc/headers/enum_params.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/enum_shifted.html b/doc/headers/enum_shifted.html index 3be4acf..15f5108 100644 --- a/doc/headers/enum_shifted.html +++ b/doc/headers/enum_shifted.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/enum_shifted_params.html b/doc/headers/enum_shifted_params.html index a988bfc..0f4553f 100644 --- a/doc/headers/enum_shifted_params.html +++ b/doc/headers/enum_shifted_params.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/epwad.html b/doc/headers/epwad.html index 6509692..ebe39b2 100644 --- a/doc/headers/epwad.html +++ b/doc/headers/epwad.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/epwd.html b/doc/headers/epwd.html index bc9dca4..23e2d5c 100644 --- a/doc/headers/epwd.html +++ b/doc/headers/epwd.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/expand.html b/doc/headers/expand.html index e2efdd6..2473373 100644 --- a/doc/headers/expand.html +++ b/doc/headers/expand.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/expr_if.html b/doc/headers/expr_if.html index d53d2f4..bb79d2c 100644 --- a/doc/headers/expr_if.html +++ b/doc/headers/expr_if.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/facilities.html b/doc/headers/facilities.html index f229575..7595212 100644 --- a/doc/headers/facilities.html +++ b/doc/headers/facilities.html @@ -19,5 +19,15 @@
  • <boost/preprocessor/facilities/identity.hpp>
  • <boost/preprocessor/facilities/intercept.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/facilities/apply.html b/doc/headers/facilities/apply.html index f5bce67..2b023ef 100644 --- a/doc/headers/facilities/apply.html +++ b/doc/headers/facilities/apply.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/facilities/empty.html b/doc/headers/facilities/empty.html index 047a855..d16ea7a 100644 --- a/doc/headers/facilities/empty.html +++ b/doc/headers/facilities/empty.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/facilities/expand.html b/doc/headers/facilities/expand.html index 06c4ead..6c71e5b 100644 --- a/doc/headers/facilities/expand.html +++ b/doc/headers/facilities/expand.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/facilities/identity.html b/doc/headers/facilities/identity.html index b9b9002..e71bbe5 100644 --- a/doc/headers/facilities/identity.html +++ b/doc/headers/facilities/identity.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/facilities/intercept.html b/doc/headers/facilities/intercept.html index 97b66ab..0af7fa1 100644 --- a/doc/headers/facilities/intercept.html +++ b/doc/headers/facilities/intercept.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/for.html b/doc/headers/for.html index 7642701..3b0db63 100644 --- a/doc/headers/for.html +++ b/doc/headers/for.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/identity.html b/doc/headers/identity.html index 78364be..bb007b4 100644 --- a/doc/headers/identity.html +++ b/doc/headers/identity.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/if.html b/doc/headers/if.html index df197f3..46a0a13 100644 --- a/doc/headers/if.html +++ b/doc/headers/if.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/inc.html b/doc/headers/inc.html index b3eb2fe..8125d03 100644 --- a/doc/headers/inc.html +++ b/doc/headers/inc.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/iterate.html b/doc/headers/iterate.html index 14b95da..ecbfd6f 100644 --- a/doc/headers/iterate.html +++ b/doc/headers/iterate.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/iteration.html b/doc/headers/iteration.html index c99bb79..f58064d 100644 --- a/doc/headers/iteration.html +++ b/doc/headers/iteration.html @@ -17,5 +17,15 @@
  • <boost/preprocessor/iteration/local.hpp>
  • <boost/preprocessor/iteration/self.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/iteration/iterate.html b/doc/headers/iteration/iterate.html index 0ad0695..5e90159 100644 --- a/doc/headers/iteration/iterate.html +++ b/doc/headers/iteration/iterate.html @@ -28,5 +28,15 @@
  • BOOST_PP_RELATIVE_ITERATION
  • BOOST_PP_RELATIVE_START
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/iteration/local.html b/doc/headers/iteration/local.html index c514048..6e1aabe 100644 --- a/doc/headers/iteration/local.html +++ b/doc/headers/iteration/local.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/iteration/self.html b/doc/headers/iteration/self.html index a999a83..cb99db2 100644 --- a/doc/headers/iteration/self.html +++ b/doc/headers/iteration/self.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/library.html b/doc/headers/library.html index 7b3e955..255969f 100644 --- a/doc/headers/library.html +++ b/doc/headers/library.html @@ -11,5 +11,15 @@
    #include <boost/preprocessor/library.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/limits.html b/doc/headers/limits.html index 56ff594..bc09d5a 100644 --- a/doc/headers/limits.html +++ b/doc/headers/limits.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list.html b/doc/headers/list.html index 5ea82df..d8ba331 100644 --- a/doc/headers/list.html +++ b/doc/headers/list.html @@ -31,5 +31,15 @@
  • <boost/preprocessor/list/to_tuple.hpp>
  • <boost/preprocessor/list/transform.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/adt.html b/doc/headers/list/adt.html index a753534..fcc50e1 100644 --- a/doc/headers/list/adt.html +++ b/doc/headers/list/adt.html @@ -20,5 +20,15 @@
  • BOOST_PP_LIST_NIL
  • BOOST_PP_LIST_REST
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/append.html b/doc/headers/list/append.html index a269fe7..64f6ee9 100644 --- a/doc/headers/list/append.html +++ b/doc/headers/list/append.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_APPEND
  • BOOST_PP_LIST_APPEND_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/at.html b/doc/headers/list/at.html index 79f4d80..5dbe8e6 100644 --- a/doc/headers/list/at.html +++ b/doc/headers/list/at.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_AT
  • BOOST_PP_LIST_AT_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/cat.html b/doc/headers/list/cat.html index e0303e9..8b4137e 100644 --- a/doc/headers/list/cat.html +++ b/doc/headers/list/cat.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_CAT
  • BOOST_PP_LIST_CAT_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/enum.html b/doc/headers/list/enum.html index 4b856f1..7cc5699 100644 --- a/doc/headers/list/enum.html +++ b/doc/headers/list/enum.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_ENUM
  • BOOST_PP_LIST_ENUM_R
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/filter.html b/doc/headers/list/filter.html index 4a412e0..7329893 100644 --- a/doc/headers/list/filter.html +++ b/doc/headers/list/filter.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_FILTER
  • BOOST_PP_LIST_FILTER_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/first_n.html b/doc/headers/list/first_n.html index ffd53d8..2d19f7e 100644 --- a/doc/headers/list/first_n.html +++ b/doc/headers/list/first_n.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_FIRST_N
  • BOOST_PP_LIST_FIRST_N_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/fold_left.html b/doc/headers/list/fold_left.html index 68ba314..190f90f 100644 --- a/doc/headers/list/fold_left.html +++ b/doc/headers/list/fold_left.html @@ -19,5 +19,15 @@
  • BOOST_PP_LIST_FOLD_LEFT_d
  • BOOST_PP_LIST_FOLD_LEFT_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/fold_right.html b/doc/headers/list/fold_right.html index bf5334e..e2c2586 100644 --- a/doc/headers/list/fold_right.html +++ b/doc/headers/list/fold_right.html @@ -19,5 +19,15 @@
  • BOOST_PP_LIST_FOLD_RIGHT_d
  • BOOST_PP_LIST_FOLD_RIGHT_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/for_each.html b/doc/headers/list/for_each.html index b469ef1..d1db2e0 100644 --- a/doc/headers/list/for_each.html +++ b/doc/headers/list/for_each.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_FOR_EACH
  • BOOST_PP_LIST_FOR_EACH_R
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/for_each_i.html b/doc/headers/list/for_each_i.html index 936c6e5..1d2d65e 100644 --- a/doc/headers/list/for_each_i.html +++ b/doc/headers/list/for_each_i.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_FOR_EACH_I
  • BOOST_PP_LIST_FOR_EACH_I_R
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/for_each_product.html b/doc/headers/list/for_each_product.html index a6c5ee6..76ee00f 100644 --- a/doc/headers/list/for_each_product.html +++ b/doc/headers/list/for_each_product.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_FOR_EACH_PRODUCT
  • BOOST_PP_LIST_FOR_EACH_PRODUCT_R
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/rest_n.html b/doc/headers/list/rest_n.html index 6580123..37b5ab1 100644 --- a/doc/headers/list/rest_n.html +++ b/doc/headers/list/rest_n.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_REST_N
  • BOOST_PP_LIST_REST_N_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/reverse.html b/doc/headers/list/reverse.html index f66ea64..879e5f7 100644 --- a/doc/headers/list/reverse.html +++ b/doc/headers/list/reverse.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_REVERSE
  • BOOST_PP_LIST_REVERSE_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/size.html b/doc/headers/list/size.html index 5b6a3cd..d3d2e5b 100644 --- a/doc/headers/list/size.html +++ b/doc/headers/list/size.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_SIZE
  • BOOST_PP_LIST_SIZE_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/to_tuple.html b/doc/headers/list/to_tuple.html index a7da545..ec25f5f 100644 --- a/doc/headers/list/to_tuple.html +++ b/doc/headers/list/to_tuple.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_TO_TUPLE
  • BOOST_PP_LIST_TO_TUPLE_R
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/list/transform.html b/doc/headers/list/transform.html index 17867f3..ae6f7c8 100644 --- a/doc/headers/list/transform.html +++ b/doc/headers/list/transform.html @@ -16,5 +16,15 @@
  • BOOST_PP_LIST_TRANSFORM
  • BOOST_PP_LIST_TRANSFORM_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/logical.html b/doc/headers/logical.html index 7155e27..14872f0 100644 --- a/doc/headers/logical.html +++ b/doc/headers/logical.html @@ -25,5 +25,15 @@
  • <boost/preprocessor/logical/or.hpp>
  • <boost/preprocessor/logical/xor.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/logical/and.html b/doc/headers/logical/and.html index 29a86c1..d93154c 100644 --- a/doc/headers/logical/and.html +++ b/doc/headers/logical/and.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/logical/bitand.html b/doc/headers/logical/bitand.html index 691533b..f4f0b32 100644 --- a/doc/headers/logical/bitand.html +++ b/doc/headers/logical/bitand.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/logical/bitnor.html b/doc/headers/logical/bitnor.html index c3312c4..6e9fcda 100644 --- a/doc/headers/logical/bitnor.html +++ b/doc/headers/logical/bitnor.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/logical/bitor.html b/doc/headers/logical/bitor.html index 299f01a..a400ad4 100644 --- a/doc/headers/logical/bitor.html +++ b/doc/headers/logical/bitor.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/logical/bitxor.html b/doc/headers/logical/bitxor.html index 862c0f3..6200fc9 100644 --- a/doc/headers/logical/bitxor.html +++ b/doc/headers/logical/bitxor.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/logical/bool.html b/doc/headers/logical/bool.html index 724d0c4..a7ed0d0 100644 --- a/doc/headers/logical/bool.html +++ b/doc/headers/logical/bool.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/logical/compl.html b/doc/headers/logical/compl.html index 519ada3..d289ebc 100644 --- a/doc/headers/logical/compl.html +++ b/doc/headers/logical/compl.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/logical/nor.html b/doc/headers/logical/nor.html index 25dc873..9aa1da8 100644 --- a/doc/headers/logical/nor.html +++ b/doc/headers/logical/nor.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/logical/not.html b/doc/headers/logical/not.html index 44c2f34..b68cc73 100644 --- a/doc/headers/logical/not.html +++ b/doc/headers/logical/not.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/logical/or.html b/doc/headers/logical/or.html index 57e8787..8a4bf3d 100644 --- a/doc/headers/logical/or.html +++ b/doc/headers/logical/or.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/logical/xor.html b/doc/headers/logical/xor.html index e4dec9d..791ec1b 100644 --- a/doc/headers/logical/xor.html +++ b/doc/headers/logical/xor.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/max.html b/doc/headers/max.html index 403d8fa..9774c56 100644 --- a/doc/headers/max.html +++ b/doc/headers/max.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/min.html b/doc/headers/min.html index 34b84d4..3234e12 100644 --- a/doc/headers/min.html +++ b/doc/headers/min.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/preprocessor.html b/doc/headers/preprocessor.html index b63c449..1ab8efd 100644 --- a/doc/headers/preprocessor.html +++ b/doc/headers/preprocessor.html @@ -11,5 +11,15 @@
    #include <boost/preprocessor.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/punctuation.html b/doc/headers/punctuation.html index 6c5ef86..efcf0a4 100644 --- a/doc/headers/punctuation.html +++ b/doc/headers/punctuation.html @@ -18,5 +18,15 @@
  • <boost/preprocessor/punctuation/paren.hpp>
  • <boost/preprocessor/punctuation/paren_if.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/punctuation/comma.html b/doc/headers/punctuation/comma.html index dbb9621..4a2d3ac 100644 --- a/doc/headers/punctuation/comma.html +++ b/doc/headers/punctuation/comma.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/punctuation/comma_if.html b/doc/headers/punctuation/comma_if.html index 2a48a8c..aa65f08 100644 --- a/doc/headers/punctuation/comma_if.html +++ b/doc/headers/punctuation/comma_if.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/punctuation/paren.html b/doc/headers/punctuation/paren.html index afdc43e..e8ac6dc 100644 --- a/doc/headers/punctuation/paren.html +++ b/doc/headers/punctuation/paren.html @@ -16,5 +16,15 @@
  • BOOST_PP_LPAREN
  • BOOST_PP_RPAREN
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/punctuation/paren_if.html b/doc/headers/punctuation/paren_if.html index a6d3f8b..41ce7e8 100644 --- a/doc/headers/punctuation/paren_if.html +++ b/doc/headers/punctuation/paren_if.html @@ -16,5 +16,15 @@
  • BOOST_PP_LPAREN_IF
  • BOOST_PP_RPAREN_IF
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repeat.html b/doc/headers/repeat.html index 427e5f5..c63673c 100644 --- a/doc/headers/repeat.html +++ b/doc/headers/repeat.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repeat_2nd.html b/doc/headers/repeat_2nd.html index e84604a..003368d 100644 --- a/doc/headers/repeat_2nd.html +++ b/doc/headers/repeat_2nd.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repeat_3rd.html b/doc/headers/repeat_3rd.html index 1430bdf..8af2e8d 100644 --- a/doc/headers/repeat_3rd.html +++ b/doc/headers/repeat_3rd.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repeat_from_to.html b/doc/headers/repeat_from_to.html index 64759e9..5fd1288 100644 --- a/doc/headers/repeat_from_to.html +++ b/doc/headers/repeat_from_to.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repeat_from_to_2nd.html b/doc/headers/repeat_from_to_2nd.html index 053c30e..e331212 100644 --- a/doc/headers/repeat_from_to_2nd.html +++ b/doc/headers/repeat_from_to_2nd.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repeat_from_to_3rd.html b/doc/headers/repeat_from_to_3rd.html index cc98e85..33839f0 100644 --- a/doc/headers/repeat_from_to_3rd.html +++ b/doc/headers/repeat_from_to_3rd.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition.html b/doc/headers/repetition.html index c1c19ee..4b6b9ca 100644 --- a/doc/headers/repetition.html +++ b/doc/headers/repetition.html @@ -29,5 +29,15 @@
  • <boost/preprocessor/repetition/repeat.hpp>
  • <boost/preprocessor/repetition/repeat_from_to.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/deduce_r.html b/doc/headers/repetition/deduce_r.html index 6ac7de8..d46850a 100644 --- a/doc/headers/repetition/deduce_r.html +++ b/doc/headers/repetition/deduce_r.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/deduce_z.html b/doc/headers/repetition/deduce_z.html index 0bc9ffd..c661bbd 100644 --- a/doc/headers/repetition/deduce_z.html +++ b/doc/headers/repetition/deduce_z.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/enum.html b/doc/headers/repetition/enum.html index c2ea4e7..c8fc295 100644 --- a/doc/headers/repetition/enum.html +++ b/doc/headers/repetition/enum.html @@ -16,5 +16,15 @@
  • BOOST_PP_ENUM
  • BOOST_PP_ENUM_z
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/enum_binary_params.html b/doc/headers/repetition/enum_binary_params.html index 9fe4677..07f846f 100644 --- a/doc/headers/repetition/enum_binary_params.html +++ b/doc/headers/repetition/enum_binary_params.html @@ -16,5 +16,15 @@
  • BOOST_PP_ENUM_BINARY_PARAMS
  • BOOST_PP_ENUM_BINARY_PARAMS_Z
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/enum_params.html b/doc/headers/repetition/enum_params.html index f62c4e2..45a46e1 100644 --- a/doc/headers/repetition/enum_params.html +++ b/doc/headers/repetition/enum_params.html @@ -16,5 +16,15 @@
  • BOOST_PP_ENUM_PARAMS
  • BOOST_PP_ENUM_PARAMS_Z
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/enum_shifted.html b/doc/headers/repetition/enum_shifted.html index 29de802..32b785f 100644 --- a/doc/headers/repetition/enum_shifted.html +++ b/doc/headers/repetition/enum_shifted.html @@ -16,5 +16,15 @@
  • BOOST_PP_ENUM_SHIFTED
  • BOOST_PP_ENUM_SHIFTED_z
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/enum_shifted_params.html b/doc/headers/repetition/enum_shifted_params.html index 25abbf6..88f1e2d 100644 --- a/doc/headers/repetition/enum_shifted_params.html +++ b/doc/headers/repetition/enum_shifted_params.html @@ -16,5 +16,15 @@
  • BOOST_PP_ENUM_SHIFTED_PARAMS
  • BOOST_PP_ENUM_SHIFTED_PARAMS_z
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/enum_trailing.html b/doc/headers/repetition/enum_trailing.html index 616e4ad..00aca33 100644 --- a/doc/headers/repetition/enum_trailing.html +++ b/doc/headers/repetition/enum_trailing.html @@ -16,5 +16,15 @@
  • BOOST_PP_ENUM_TRAILING
  • BOOST_PP_ENUM_TRAILING_z
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/enum_trailing_params.html b/doc/headers/repetition/enum_trailing_params.html index 73b75b0..274fca1 100644 --- a/doc/headers/repetition/enum_trailing_params.html +++ b/doc/headers/repetition/enum_trailing_params.html @@ -16,5 +16,15 @@
  • BOOST_PP_ENUM_TRAILING_PARAMS
  • BOOST_PP_ENUM_TRAILING_PARAMS_Z
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/epwad.html b/doc/headers/repetition/epwad.html index ebf8410..102c364 100644 --- a/doc/headers/repetition/epwad.html +++ b/doc/headers/repetition/epwad.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/epwd.html b/doc/headers/repetition/epwd.html index 07c741b..7e1482b 100644 --- a/doc/headers/repetition/epwd.html +++ b/doc/headers/repetition/epwd.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/esbp.html b/doc/headers/repetition/esbp.html index 4d93edb..090626a 100644 --- a/doc/headers/repetition/esbp.html +++ b/doc/headers/repetition/esbp.html @@ -16,5 +16,15 @@
  • BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS
  • BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/etbp.html b/doc/headers/repetition/etbp.html index 6d77be2..b26c133 100644 --- a/doc/headers/repetition/etbp.html +++ b/doc/headers/repetition/etbp.html @@ -16,5 +16,15 @@
  • BOOST_PP_ENUM_TRAILING_BINARY_PARAMS
  • BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/for.html b/doc/headers/repetition/for.html index 69e56fe..63707ff 100644 --- a/doc/headers/repetition/for.html +++ b/doc/headers/repetition/for.html @@ -16,5 +16,15 @@
  • BOOST_PP_FOR
  • BOOST_PP_FOR_r
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/repeat.html b/doc/headers/repetition/repeat.html index 7eb16ac..dbd69ea 100644 --- a/doc/headers/repetition/repeat.html +++ b/doc/headers/repetition/repeat.html @@ -19,5 +19,15 @@
  • BOOST_PP_REPEAT_3RD
  • BOOST_PP_REPEAT_z
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/repetition/repeat_from_to.html b/doc/headers/repetition/repeat_from_to.html index 51c6c50..a4e3903 100644 --- a/doc/headers/repetition/repeat_from_to.html +++ b/doc/headers/repetition/repeat_from_to.html @@ -21,5 +21,15 @@
  • BOOST_PP_REPEAT_FROM_TO_D_z
  • BOOST_PP_REPEAT_FROM_TO_z
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/selection.html b/doc/headers/selection.html index 7661fb6..367752c 100644 --- a/doc/headers/selection.html +++ b/doc/headers/selection.html @@ -16,5 +16,15 @@
  • <boost/preprocessor/selection/max.hpp>
  • <boost/preprocessor/selection/min.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/selection/max.html b/doc/headers/selection/max.html index e73fa7c..1b8be52 100644 --- a/doc/headers/selection/max.html +++ b/doc/headers/selection/max.html @@ -16,5 +16,15 @@
  • BOOST_PP_MAX
  • BOOST_PP_MAX_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/selection/min.html b/doc/headers/selection/min.html index e4dcf53..3caea78 100644 --- a/doc/headers/selection/min.html +++ b/doc/headers/selection/min.html @@ -16,5 +16,15 @@
  • BOOST_PP_MIN
  • BOOST_PP_MIN_D
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq.html b/doc/headers/seq.html index 64d31e0..63e45cc 100644 --- a/doc/headers/seq.html +++ b/doc/headers/seq.html @@ -68,5 +68,15 @@
  • <boost/preprocessor/seq/transform.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/cat.html b/doc/headers/seq/cat.html index ba024da..4a58861 100644 --- a/doc/headers/seq/cat.html +++ b/doc/headers/seq/cat.html @@ -23,5 +23,15 @@
  • BOOST_PP_SEQ_CAT_S
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/elem.html b/doc/headers/seq/elem.html index e6fd49d..855b7b7 100644 --- a/doc/headers/seq/elem.html +++ b/doc/headers/seq/elem.html @@ -20,5 +20,15 @@
  • BOOST_PP_SEQ_ELEM
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/enum.html b/doc/headers/seq/enum.html index c5a7180..41f9f88 100644 --- a/doc/headers/seq/enum.html +++ b/doc/headers/seq/enum.html @@ -20,5 +20,15 @@
  • BOOST_PP_SEQ_ENUM
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/filter.html b/doc/headers/seq/filter.html index c8d88ad..b1455ea 100644 --- a/doc/headers/seq/filter.html +++ b/doc/headers/seq/filter.html @@ -22,5 +22,15 @@
  • BOOST_PP_SEQ_FILTER_S
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/first_n.html b/doc/headers/seq/first_n.html index 79133c4..b15cc0b 100644 --- a/doc/headers/seq/first_n.html +++ b/doc/headers/seq/first_n.html @@ -21,5 +21,15 @@
  • BOOST_PP_SEQ_FIRST_N
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/fold_left.html b/doc/headers/seq/fold_left.html index a20d48e..365e440 100644 --- a/doc/headers/seq/fold_left.html +++ b/doc/headers/seq/fold_left.html @@ -23,5 +23,15 @@
  • BOOST_PP_SEQ_FOLD_LEFT_s
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/fold_right.html b/doc/headers/seq/fold_right.html index 750faf1..308ee19 100644 --- a/doc/headers/seq/fold_right.html +++ b/doc/headers/seq/fold_right.html @@ -23,5 +23,15 @@
  • BOOST_PP_SEQ_FOLD_RIGHT_s
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/for_each.html b/doc/headers/seq/for_each.html index ac19ec9..a881b70 100644 --- a/doc/headers/seq/for_each.html +++ b/doc/headers/seq/for_each.html @@ -23,5 +23,15 @@
  • BOOST_PP_SEQ_FOR_EACH_R
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/for_each_i.html b/doc/headers/seq/for_each_i.html index 720f5f8..b104ec6 100644 --- a/doc/headers/seq/for_each_i.html +++ b/doc/headers/seq/for_each_i.html @@ -23,5 +23,15 @@
  • BOOST_PP_SEQ_FOR_EACH_I_R
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/for_each_product.html b/doc/headers/seq/for_each_product.html index ae3a489..e5a10ae 100644 --- a/doc/headers/seq/for_each_product.html +++ b/doc/headers/seq/for_each_product.html @@ -23,5 +23,15 @@
  • BOOST_PP_SEQ_FOR_EACH_PRODUCT_R
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/insert.html b/doc/headers/seq/insert.html index 8caa77e..799bd87 100644 --- a/doc/headers/seq/insert.html +++ b/doc/headers/seq/insert.html @@ -20,5 +20,15 @@
  • BOOST_PP_SEQ_INSERT
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/pop_back.html b/doc/headers/seq/pop_back.html index 86d4f25..af9e251 100644 --- a/doc/headers/seq/pop_back.html +++ b/doc/headers/seq/pop_back.html @@ -21,5 +21,15 @@
  • BOOST_PP_SEQ_POP_BACK
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/pop_front.html b/doc/headers/seq/pop_front.html index 6b8a047..6073cab 100644 --- a/doc/headers/seq/pop_front.html +++ b/doc/headers/seq/pop_front.html @@ -21,5 +21,15 @@
  • BOOST_PP_SEQ_POP_FRONT
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/push_back.html b/doc/headers/seq/push_back.html index d675d83..9131eef 100644 --- a/doc/headers/seq/push_back.html +++ b/doc/headers/seq/push_back.html @@ -20,5 +20,15 @@
  • BOOST_PP_SEQ_PUSH_BACK
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/push_front.html b/doc/headers/seq/push_front.html index ddced26..644dcab 100644 --- a/doc/headers/seq/push_front.html +++ b/doc/headers/seq/push_front.html @@ -20,5 +20,15 @@
  • BOOST_PP_SEQ_PUSH_FRONT
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/remove.html b/doc/headers/seq/remove.html index e894515..714c1da 100644 --- a/doc/headers/seq/remove.html +++ b/doc/headers/seq/remove.html @@ -20,5 +20,15 @@
  • BOOST_PP_SEQ_REMOVE
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/replace.html b/doc/headers/seq/replace.html index 3b32773..04d6a4b 100644 --- a/doc/headers/seq/replace.html +++ b/doc/headers/seq/replace.html @@ -20,5 +20,15 @@
  • BOOST_PP_SEQ_REPLACE
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/rest_n.html b/doc/headers/seq/rest_n.html index dbac3b2..c336580 100644 --- a/doc/headers/seq/rest_n.html +++ b/doc/headers/seq/rest_n.html @@ -21,5 +21,15 @@
  • BOOST_PP_SEQ_REST_N
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/reverse.html b/doc/headers/seq/reverse.html index ffb5c60..5ecbcb8 100644 --- a/doc/headers/seq/reverse.html +++ b/doc/headers/seq/reverse.html @@ -22,5 +22,15 @@
  • BOOST_PP_SEQ_REVERSE_S
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/seq.html b/doc/headers/seq/seq.html index c3eaebc..9b9326b 100644 --- a/doc/headers/seq/seq.html +++ b/doc/headers/seq/seq.html @@ -24,5 +24,15 @@
  • BOOST_PP_SEQ_TAIL
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/size.html b/doc/headers/seq/size.html index a851711..3ac7fba 100644 --- a/doc/headers/seq/size.html +++ b/doc/headers/seq/size.html @@ -20,5 +20,15 @@
  • BOOST_PP_SEQ_SIZE
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/subseq.html b/doc/headers/seq/subseq.html index f49fb6d..494ce7c 100644 --- a/doc/headers/seq/subseq.html +++ b/doc/headers/seq/subseq.html @@ -20,5 +20,15 @@
  • BOOST_PP_SEQ_SUBSEQ
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/to_array.html b/doc/headers/seq/to_array.html index 28b28a6..9a8b566 100644 --- a/doc/headers/seq/to_array.html +++ b/doc/headers/seq/to_array.html @@ -21,5 +21,15 @@
  • BOOST_PP_SEQ_TO_ARRAY
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/to_tuple.html b/doc/headers/seq/to_tuple.html index fed81dd..6e97f88 100644 --- a/doc/headers/seq/to_tuple.html +++ b/doc/headers/seq/to_tuple.html @@ -21,5 +21,15 @@
  • BOOST_PP_SEQ_TO_TUPLE
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/seq/transform.html b/doc/headers/seq/transform.html index 21045b7..a25b6b7 100644 --- a/doc/headers/seq/transform.html +++ b/doc/headers/seq/transform.html @@ -22,5 +22,15 @@
  • BOOST_PP_SEQ_TRANSFORM_S
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/slot.html b/doc/headers/slot.html index 5c4ac57..cee7a9c 100644 --- a/doc/headers/slot.html +++ b/doc/headers/slot.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/slot/counter.html b/doc/headers/slot/counter.html index 888ad32..2a64a44 100644 --- a/doc/headers/slot/counter.html +++ b/doc/headers/slot/counter.html @@ -16,5 +16,15 @@
  • BOOST_PP_COUNTER
  • BOOST_PP_UPDATE_COUNTER
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/slot/slot.html b/doc/headers/slot/slot.html index 724732d..fcd1dde 100644 --- a/doc/headers/slot/slot.html +++ b/doc/headers/slot/slot.html @@ -16,5 +16,15 @@
  • BOOST_PP_ASSIGN_SLOT
  • BOOST_PP_SLOT
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/stringize.html b/doc/headers/stringize.html index 2945d06..012f315 100644 --- a/doc/headers/stringize.html +++ b/doc/headers/stringize.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/tuple.html b/doc/headers/tuple.html index de41e7d..309ef3e 100644 --- a/doc/headers/tuple.html +++ b/doc/headers/tuple.html @@ -19,5 +19,15 @@
  • <boost/preprocessor/tuple/reverse.hpp>
  • <boost/preprocessor/tuple/to_list.hpp>
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/tuple/eat.html b/doc/headers/tuple/eat.html index e94cef7..28d1897 100644 --- a/doc/headers/tuple/eat.html +++ b/doc/headers/tuple/eat.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/tuple/elem.html b/doc/headers/tuple/elem.html index b28f174..9bd9fff 100644 --- a/doc/headers/tuple/elem.html +++ b/doc/headers/tuple/elem.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/tuple/rem.html b/doc/headers/tuple/rem.html index 61bb24c..b062320 100644 --- a/doc/headers/tuple/rem.html +++ b/doc/headers/tuple/rem.html @@ -16,5 +16,15 @@
  • BOOST_PP_TUPLE_REM
  • BOOST_PP_TUPLE_REM_CTOR
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/tuple/reverse.html b/doc/headers/tuple/reverse.html index 6a533b0..9d594fd 100644 --- a/doc/headers/tuple/reverse.html +++ b/doc/headers/tuple/reverse.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/tuple/to_list.html b/doc/headers/tuple/to_list.html index c5507c6..ce342ee 100644 --- a/doc/headers/tuple/to_list.html +++ b/doc/headers/tuple/to_list.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/tuple/to_seq.html b/doc/headers/tuple/to_seq.html index d347942..32419de 100644 --- a/doc/headers/tuple/to_seq.html +++ b/doc/headers/tuple/to_seq.html @@ -21,5 +21,15 @@
  • BOOST_PP_TUPLE_TO_SEQ
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/while.html b/doc/headers/while.html index 0ddb28e..f3e0763 100644 --- a/doc/headers/while.html +++ b/doc/headers/while.html @@ -16,5 +16,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/headers/wstringize.html b/doc/headers/wstringize.html index 8a000fd..9831e36 100644 --- a/doc/headers/wstringize.html +++ b/doc/headers/wstringize.html @@ -15,5 +15,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/index.html b/doc/index.html index 731ec89..dd15469 100644 --- a/doc/index.html +++ b/doc/index.html @@ -11,4 +11,12 @@ .. + + + diff --git a/doc/miscellanea.html b/doc/miscellanea.html index d738746..6040c92 100644 --- a/doc/miscellanea.html +++ b/doc/miscellanea.html @@ -11,5 +11,13 @@
  • acknowledgements
  • bibliography
  • + + + diff --git a/doc/ref.html b/doc/ref.html index 030e7f2..2e4a71f 100644 --- a/doc/ref.html +++ b/doc/ref.html @@ -273,5 +273,13 @@
  • XOR
  • + + + \ No newline at end of file diff --git a/doc/ref/add.html b/doc/ref/add.html index 7340972..ecb94f5 100644 --- a/doc/ref/add.html +++ b/doc/ref/add.html @@ -53,5 +53,15 @@ BOOST_PP_ADD(4, 3) // expands to 7 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/add_d.html b/doc/ref/add_d.html index 9ae75a5..c0fd4b5 100644 --- a/doc/ref/add_d.html +++ b/doc/ref/add_d.html @@ -75,5 +75,15 @@ STRIDE(10, 2) // expands to 14 STRIDE(51, 6) // expands to 63 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/and.html b/doc/ref/and.html index 4a84493..5df2a42 100644 --- a/doc/ref/and.html +++ b/doc/ref/and.html @@ -49,5 +49,15 @@ BOOST_PP_AND(4, 3) // expands to 1 BOOST_PP_AND(5, 0) // expands to 0 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/apply.html b/doc/ref/apply.html index 1a273ad..ced745d 100644 --- a/doc/ref/apply.html +++ b/doc/ref/apply.html @@ -49,5 +49,15 @@ CV(0) // expands to nothing CV(1) // expands to const +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_data.html b/doc/ref/array_data.html index b1c92fb..e2a9b21 100644 --- a/doc/ref/array_data.html +++ b/doc/ref/array_data.html @@ -34,5 +34,15 @@ BOOST_PP_ARRAY_DATA(ARRAY) // expands to (x, y, z) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_elem.html b/doc/ref/array_elem.html index ad77f1d..9c8b363 100644 --- a/doc/ref/array_elem.html +++ b/doc/ref/array_elem.html @@ -36,5 +36,15 @@ BOOST_PP_ARRAY_ELEM(0, ARRAY) // expands to a BOOST_PP_ARRAY_ELEM(3, ARRAY) // expands to d +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_insert.html b/doc/ref/array_insert.html index 9cf138c..ac33597 100644 --- a/doc/ref/array_insert.html +++ b/doc/ref/array_insert.html @@ -56,5 +56,15 @@ BOOST_PP_ARRAY_INSERT(ARRAY, 2, c) // expands to (4, (a, b, c, d)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_insert_d.html b/doc/ref/array_insert_d.html index cf7346a..2bd9f35 100644 --- a/doc/ref/array_insert_d.html +++ b/doc/ref/array_insert_d.html @@ -48,5 +48,15 @@
    Header:  <boost/preprocessor/array/insert.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_pop_back.html b/doc/ref/array_pop_back.html index 08cfa3c..27e6bf0 100644 --- a/doc/ref/array_pop_back.html +++ b/doc/ref/array_pop_back.html @@ -44,5 +44,15 @@ BOOST_PP_ARRAY_POP_BACK(ARRAY) // expands to (2, (a, b)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_pop_back_z.html b/doc/ref/array_pop_back_z.html index dda04d3..cac050a 100644 --- a/doc/ref/array_pop_back_z.html +++ b/doc/ref/array_pop_back_z.html @@ -36,5 +36,15 @@
    Header:  <boost/preprocessor/array/pop_back.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_pop_front.html b/doc/ref/array_pop_front.html index 84f8475..efd93d1 100644 --- a/doc/ref/array_pop_front.html +++ b/doc/ref/array_pop_front.html @@ -44,5 +44,15 @@ BOOST_PP_ARRAY_POP_FRONT(ARRAY) // expands to (2, (b, c)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_pop_front_z.html b/doc/ref/array_pop_front_z.html index a39542d..da37e30 100644 --- a/doc/ref/array_pop_front_z.html +++ b/doc/ref/array_pop_front_z.html @@ -36,5 +36,15 @@
    Header:  <boost/preprocessor/array/pop_front.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_push_back.html b/doc/ref/array_push_back.html index a346aa2..12ac90a 100644 --- a/doc/ref/array_push_back.html +++ b/doc/ref/array_push_back.html @@ -34,5 +34,15 @@ BOOST_PP_ARRAY_PUSH_BACK(ARRAY, d) // expands to (4, (a, b, c, d)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_push_front.html b/doc/ref/array_push_front.html index 8bdcd54..221dfa3 100644 --- a/doc/ref/array_push_front.html +++ b/doc/ref/array_push_front.html @@ -34,5 +34,15 @@ BOOST_PP_ARRAY_PUSH_FRONT(ARRAY, a) // expands to (4, (a, b, c, d)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_remove.html b/doc/ref/array_remove.html index a4d45d7..c123369 100644 --- a/doc/ref/array_remove.html +++ b/doc/ref/array_remove.html @@ -45,5 +45,15 @@ BOOST_PP_ARRAY_REMOVE(ARRAY, 2) // expands to (2, (a, b)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_remove_d.html b/doc/ref/array_remove_d.html index a6e5e0b..833ddfd 100644 --- a/doc/ref/array_remove_d.html +++ b/doc/ref/array_remove_d.html @@ -36,5 +36,15 @@
    Header:  <boost/preprocessor/array/remove.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_replace.html b/doc/ref/array_replace.html index 4a5ee29..60fe034 100644 --- a/doc/ref/array_replace.html +++ b/doc/ref/array_replace.html @@ -49,5 +49,15 @@ BOOST_PP_ARRAY_REPLACE(ARRAY, 1, b) // expands to (3, (a, b, c)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_replace_d.html b/doc/ref/array_replace_d.html index 29387ef..bfcb5aa 100644 --- a/doc/ref/array_replace_d.html +++ b/doc/ref/array_replace_d.html @@ -40,5 +40,15 @@
    Header:  <boost/preprocessor/array/replace.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_reverse.html b/doc/ref/array_reverse.html index 8ab933b..084bd87 100644 --- a/doc/ref/array_reverse.html +++ b/doc/ref/array_reverse.html @@ -30,5 +30,15 @@ BOOST_PP_ARRAY_REVERSE(ARRAY) // expands to (3, (c, b, a)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/array_size.html b/doc/ref/array_size.html index 5ddd045..bf93704 100644 --- a/doc/ref/array_size.html +++ b/doc/ref/array_size.html @@ -30,5 +30,15 @@ BOOST_PP_ARRAY_SIZE(ARRAY) // expands to 3 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/assert.html b/doc/ref/assert.html index ee307ed..1baedac 100644 --- a/doc/ref/assert.html +++ b/doc/ref/assert.html @@ -99,5 +99,15 @@ MACRO(10) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/assert_msg.html b/doc/ref/assert_msg.html index 31a44ff..042449c 100644 --- a/doc/ref/assert_msg.html +++ b/doc/ref/assert_msg.html @@ -51,5 +51,15 @@ "incorrect line numbering detected" \ ) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/assign_slot.html b/doc/ref/assign_slot.html index 2a6b249..659d5ee 100644 --- a/doc/ref/assign_slot.html +++ b/doc/ref/assign_slot.html @@ -46,5 +46,15 @@ BOOST_PP_SLOT(1) // expands to 10 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/bitand.html b/doc/ref/bitand.html index 2f723da..b7a4414 100644 --- a/doc/ref/bitand.html +++ b/doc/ref/bitand.html @@ -50,5 +50,15 @@ BOOST_PP_BITAND(1, 0) // expands to 0 BOOST_PP_BITAND(1, 1) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/bitnor.html b/doc/ref/bitnor.html index 1191483..84f27d3 100644 --- a/doc/ref/bitnor.html +++ b/doc/ref/bitnor.html @@ -50,5 +50,15 @@ BOOST_PP_BITNOR(1, 0) // expands to 0 BOOST_PP_BITNOR(1, 1) // expands to 0 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/bitor.html b/doc/ref/bitor.html index dbf5c6a..eab93af 100644 --- a/doc/ref/bitor.html +++ b/doc/ref/bitor.html @@ -50,5 +50,15 @@ BOOST_PP_BITOR(1, 0) // expands to 1 BOOST_PP_BITOR(1, 1) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/bitxor.html b/doc/ref/bitxor.html index 1e5af0e..fc5b6ba 100644 --- a/doc/ref/bitxor.html +++ b/doc/ref/bitxor.html @@ -51,5 +51,15 @@ BOOST_PP_BITXOR(1, 0) // expands to 1 BOOST_PP_BITXOR(1, 1) // expands to 0 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/bool.html b/doc/ref/bool.html index 039189b..0dc8240 100644 --- a/doc/ref/bool.html +++ b/doc/ref/bool.html @@ -39,5 +39,15 @@ BOOST_PP_BOOL(6) // expands to 1 BOOST_PP_BOOL(0) // expands to 0 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/cat.html b/doc/ref/cat.html index 865180d..ebbd7eb 100644 --- a/doc/ref/cat.html +++ b/doc/ref/cat.html @@ -42,5 +42,15 @@ BOOST_PP_CAT(x, BOOST_PP_CAT(y, z)) // expands to xyz +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/comma.html b/doc/ref/comma.html index 9387aea..fdf6326 100644 --- a/doc/ref/comma.html +++ b/doc/ref/comma.html @@ -28,5 +28,15 @@ BOOST_PP_IF(1, BOOST_PP_COMMA, BOOST_PP_EMPTY)() // expands to , +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/comma_if.html b/doc/ref/comma_if.html index 55dc64f..e727184 100644 --- a/doc/ref/comma_if.html +++ b/doc/ref/comma_if.html @@ -45,5 +45,15 @@ BOOST_PP_REPEAT(3, MACRO, class) // expands to class, class, class +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/compl.html b/doc/ref/compl.html index ee4fca0..99eee79 100644 --- a/doc/ref/compl.html +++ b/doc/ref/compl.html @@ -43,5 +43,15 @@ BOOST_PP_COMPL(1) // expands to 0 BOOST_PP_COMPL(0) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/config_extended_line_info.html b/doc/ref/config_extended_line_info.html index c5483f8..17efa64 100644 --- a/doc/ref/config_extended_line_info.html +++ b/doc/ref/config_extended_line_info.html @@ -39,5 +39,15 @@
  • BOOST_PP_LINE
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/counter.html b/doc/ref/counter.html index 6946c3e..198b289 100644 --- a/doc/ref/counter.html +++ b/doc/ref/counter.html @@ -43,5 +43,15 @@ BOOST_PP_COUNTER // 3 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/dec.html b/doc/ref/dec.html index 7d2ae38..874b4ab 100644 --- a/doc/ref/dec.html +++ b/doc/ref/dec.html @@ -39,5 +39,15 @@ BOOST_PP_DEC(BOOST_PP_DEC(6)) // expands to 4 BOOST_PP_DEC(0) // expands to 0 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/deduce_d.html b/doc/ref/deduce_d.html index 35ee749..ac0ecfc 100644 --- a/doc/ref/deduce_d.html +++ b/doc/ref/deduce_d.html @@ -67,5 +67,15 @@ RANGE(5, 10) // expands to 5, 6, 7, 8, 9, 10 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/deduce_r.html b/doc/ref/deduce_r.html index 95d911a..ad7794d 100644 --- a/doc/ref/deduce_r.html +++ b/doc/ref/deduce_r.html @@ -33,5 +33,15 @@
    Header:  <boost/preprocessor/repetition/deduce_r.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/deduce_z.html b/doc/ref/deduce_z.html index a1b24b4..8c881e4 100644 --- a/doc/ref/deduce_z.html +++ b/doc/ref/deduce_z.html @@ -33,5 +33,15 @@
    Header:  <boost/preprocessor/repetition/deduce_z.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/div.html b/doc/ref/div.html index ce5d456..b358496 100644 --- a/doc/ref/div.html +++ b/doc/ref/div.html @@ -48,5 +48,15 @@ BOOST_PP_DIV(11, 5) // expands to 2 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/div_d.html b/doc/ref/div_d.html index 89cc85c..ff6ca82 100644 --- a/doc/ref/div_d.html +++ b/doc/ref/div_d.html @@ -70,5 +70,15 @@ HALVE(8, 2) // expands to 2 HALVE(16, 1) // expands to 8 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/empty.html b/doc/ref/empty.html index db525a8..385f2ad 100644 --- a/doc/ref/empty.html +++ b/doc/ref/empty.html @@ -32,5 +32,15 @@ MACRO(0) // expands to nothing MACRO(1) // expands to result +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum.html b/doc/ref/enum.html index 5a2851d..c7f6642 100644 --- a/doc/ref/enum.html +++ b/doc/ref/enum.html @@ -65,5 +65,15 @@ BOOST_PP_ENUM(4, TEXT, class) // expands to class, class, class, class +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_binary_params.html b/doc/ref/enum_binary_params.html index 8e73201..5d75c7e 100644 --- a/doc/ref/enum_binary_params.html +++ b/doc/ref/enum_binary_params.html @@ -61,5 +61,15 @@ BOOST_PP_ENUM_BINARY_PARAMS(3, T, p) // expands to T0 p0, T1 p1, T2 p2 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_binary_params_z.html b/doc/ref/enum_binary_params_z.html index ac3e95f..e52ded3 100644 --- a/doc/ref/enum_binary_params_z.html +++ b/doc/ref/enum_binary_params_z.html @@ -78,5 +78,15 @@ template<class T0, class T1> void f(T0 p0, T1 p1) { } */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_params.html b/doc/ref/enum_params.html index 317fe67..770caaa 100644 --- a/doc/ref/enum_params.html +++ b/doc/ref/enum_params.html @@ -54,5 +54,15 @@ BOOST_PP_ENUM_PARAMS(3, class T) // expands to class T0, class T1, class T2 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_params_with_a_default.html b/doc/ref/enum_params_with_a_default.html index 20de3a5..4e37d48 100644 --- a/doc/ref/enum_params_with_a_default.html +++ b/doc/ref/enum_params_with_a_default.html @@ -68,5 +68,15 @@ BOOST_PP_ENUM_BINARY_PARAMS(3, class T, = int BOOST_PP_INTERCEPT) // expands to T0 = int, T1 = int, T2 = int +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_params_with_defaults.html b/doc/ref/enum_params_with_defaults.html index e34fd04..90fa272 100644 --- a/doc/ref/enum_params_with_defaults.html +++ b/doc/ref/enum_params_with_defaults.html @@ -69,5 +69,15 @@ BOOST_PP_ENUM_BINARY_PARAMS(3, class T, = U) // expands to T0 = U0, T1 = U1, T2 = U2 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_params_z.html b/doc/ref/enum_params_z.html index 7b300a6..fda9e61 100644 --- a/doc/ref/enum_params_z.html +++ b/doc/ref/enum_params_z.html @@ -67,5 +67,15 @@ template<class T0, class T1> class X1 { }; */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_shifted.html b/doc/ref/enum_shifted.html index 0d29cd4..4cfafdf 100644 --- a/doc/ref/enum_shifted.html +++ b/doc/ref/enum_shifted.html @@ -67,5 +67,15 @@ BOOST_PP_ENUM(5, TYPE, int) // expands to int, int, int, int, int BOOST_PP_ENUM_SHIFTED(5, TYPE, int) // expands to int, int, int, int +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_shifted_params.html b/doc/ref/enum_shifted_params.html index 0715b29..e25a230 100644 --- a/doc/ref/enum_shifted_params.html +++ b/doc/ref/enum_shifted_params.html @@ -58,5 +58,15 @@ BOOST_PP_ENUM_SHIFTED_PARAMS(3, class T) // expands to class T1, class T2 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_shifted_params_z.html b/doc/ref/enum_shifted_params_z.html index 6459485..1870e42 100644 --- a/doc/ref/enum_shifted_params_z.html +++ b/doc/ref/enum_shifted_params_z.html @@ -64,5 +64,15 @@ int add(void) { BOOST_PP_REPEAT(5, ADD_F, nil) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_shifted_z.html b/doc/ref/enum_shifted_z.html index bf2d95e..e5becf6 100644 --- a/doc/ref/enum_shifted_z.html +++ b/doc/ref/enum_shifted_z.html @@ -78,5 +78,15 @@ BOOST_PP_REPEAT(3, MACRO, class) // expands to () (class) (class, class) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_trailing.html b/doc/ref/enum_trailing.html index 53c5c0a..762ba51 100644 --- a/doc/ref/enum_trailing.html +++ b/doc/ref/enum_trailing.html @@ -68,5 +68,15 @@ template<class, class, class, class> class X { }; */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_trailing_params.html b/doc/ref/enum_trailing_params.html index cc03e88..346c92c 100644 --- a/doc/ref/enum_trailing_params.html +++ b/doc/ref/enum_trailing_params.html @@ -51,5 +51,15 @@ class X BOOST_PP_ENUM_TRAILING_PARAMS(2, class T) // expands to class X, class T0, class T1, class T2 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_trailing_params_z.html b/doc/ref/enum_trailing_params_z.html index 36aeb3f..33fa047 100644 --- a/doc/ref/enum_trailing_params_z.html +++ b/doc/ref/enum_trailing_params_z.html @@ -66,5 +66,15 @@ template<class, class T0> class X1 { }; */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_trailing_z.html b/doc/ref/enum_trailing_z.html index 27e8718..41c3dd4 100644 --- a/doc/ref/enum_trailing_z.html +++ b/doc/ref/enum_trailing_z.html @@ -81,5 +81,15 @@ template<class, class, class> class T2 */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/enum_z.html b/doc/ref/enum_z.html index f7ba38d..23f2fea 100644 --- a/doc/ref/enum_z.html +++ b/doc/ref/enum_z.html @@ -81,5 +81,15 @@ template<class, class, class> class T2 */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/equal.html b/doc/ref/equal.html index ff427d6..0d8383a 100644 --- a/doc/ref/equal.html +++ b/doc/ref/equal.html @@ -49,5 +49,15 @@ BOOST_PP_EQUAL(4, 3) // expands to 0 BOOST_PP_EQUAL(5, 5) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/equal_d.html b/doc/ref/equal_d.html index 31f5ee9..5e8f9a1 100644 --- a/doc/ref/equal_d.html +++ b/doc/ref/equal_d.html @@ -54,5 +54,15 @@ BOOST_PP_EQUAL_D(1, 4, 3) // expands to 0 BOOST_PP_EQUAL_D(1, 5, 5) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/esbp.html b/doc/ref/esbp.html index 413b64a..08c4b98 100644 --- a/doc/ref/esbp.html +++ b/doc/ref/esbp.html @@ -50,5 +50,15 @@
    Header:  <boost/preprocessor/repetition/enum_shifted_binary_params.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/esbpz.html b/doc/ref/esbpz.html index e9e53aa..8f1c4bb 100644 --- a/doc/ref/esbpz.html +++ b/doc/ref/esbpz.html @@ -52,5 +52,15 @@
    Header:  <boost/preprocessor/repetition/enum_shifted_binary_params.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/etbp.html b/doc/ref/etbp.html index e70619c..ad4b907 100644 --- a/doc/ref/etbp.html +++ b/doc/ref/etbp.html @@ -68,5 +68,15 @@ struct sample { } */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/etbpz.html b/doc/ref/etbpz.html index 0752ae6..5ea788d 100644 --- a/doc/ref/etbpz.html +++ b/doc/ref/etbpz.html @@ -52,5 +52,15 @@
    Header:  <boost/preprocessor/repetition/enum_trailing_binary_params.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/expand.html b/doc/ref/expand.html index 642b2c7..f2a3b47 100644 --- a/doc/ref/expand.html +++ b/doc/ref/expand.html @@ -52,5 +52,15 @@ SAMPLE(0) // expands to (a)(b)(c) SAMPLE(1) // expands to (x)(y)(z) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/expr_if.html b/doc/ref/expr_if.html index 207d88b..5cead88 100644 --- a/doc/ref/expr_if.html +++ b/doc/ref/expr_if.html @@ -55,5 +55,15 @@ CV(0) // expands to nothing CV(1) // expands to const +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/expr_iif.html b/doc/ref/expr_iif.html index 44c8ce5..095da9d 100644 --- a/doc/ref/expr_iif.html +++ b/doc/ref/expr_iif.html @@ -52,5 +52,15 @@ INSERT_AND(2, 3, abc) // expands to abc INSERT_AND(0, 7, xyz) // expands to nothing +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/filename_x.html b/doc/ref/filename_x.html index c7dcb1f..be7041a 100644 --- a/doc/ref/filename_x.html +++ b/doc/ref/filename_x.html @@ -37,5 +37,15 @@
  • BOOST_PP_ITERATE
  • BOOST_PP_ITERATION_LIMITS
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/for.html b/doc/ref/for.html index c724ade..0378dc5 100644 --- a/doc/ref/for.html +++ b/doc/ref/for.html @@ -90,5 +90,15 @@ BOOST_PP_FOR((5, 10), PRED, OP, MACRO) // expands to 5 6 7 8 9 10 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/for_r.html b/doc/ref/for_r.html index 6eb327c..22cf8e2 100644 --- a/doc/ref/for_r.html +++ b/doc/ref/for_r.html @@ -140,5 +140,15 @@ TEMPLATE_TEMPLATE(2, 4, T) template<class, class, class, class> class T4 */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/frame_finish.html b/doc/ref/frame_finish.html index fa14d3c..fe1ef30 100644 --- a/doc/ref/frame_finish.html +++ b/doc/ref/frame_finish.html @@ -27,5 +27,15 @@
    Header:  <boost/preprocessor/iteration/iterate.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/frame_flags.html b/doc/ref/frame_flags.html index d0661fe..5aa7070 100644 --- a/doc/ref/frame_flags.html +++ b/doc/ref/frame_flags.html @@ -27,5 +27,15 @@
    Header:  <boost/preprocessor/iteration/iterate.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/frame_iteration.html b/doc/ref/frame_iteration.html index fdfa7b4..86e56b2 100644 --- a/doc/ref/frame_iteration.html +++ b/doc/ref/frame_iteration.html @@ -58,5 +58,15 @@ #endif +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/frame_start.html b/doc/ref/frame_start.html index b135602..fab2e83 100644 --- a/doc/ref/frame_start.html +++ b/doc/ref/frame_start.html @@ -27,5 +27,15 @@
    Header:  <boost/preprocessor/iteration/iterate.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/greater.html b/doc/ref/greater.html index ab87532..2ed7c48 100644 --- a/doc/ref/greater.html +++ b/doc/ref/greater.html @@ -50,5 +50,15 @@ BOOST_PP_GREATER(4, 3) // expands to 1 BOOST_PP_GREATER(5, 5) // expands to 0 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/greater_d.html b/doc/ref/greater_d.html index 68a6831..5f9f740 100644 --- a/doc/ref/greater_d.html +++ b/doc/ref/greater_d.html @@ -54,5 +54,15 @@ BOOST_PP_LIST_FILTER(PRED, nil, LIST) // expands to (3, (4, (5, BOOST_PP_NIL))) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/greater_equal.html b/doc/ref/greater_equal.html index 06c6bb4..e58a104 100644 --- a/doc/ref/greater_equal.html +++ b/doc/ref/greater_equal.html @@ -50,5 +50,15 @@ BOOST_PP_GREATER_EQUAL(4, 3) // expands to 1 BOOST_PP_GREATER_EQUAL(5, 5) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/greater_equal_d.html b/doc/ref/greater_equal_d.html index 7bfcfec..dc01239 100644 --- a/doc/ref/greater_equal_d.html +++ b/doc/ref/greater_equal_d.html @@ -54,5 +54,15 @@ BOOST_PP_LIST_FILTER(PRED, nil, LIST) // expands to (4, (5, BOOST_PP_NIL)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/identity.html b/doc/ref/identity.html index 67a4e27..674d13a 100644 --- a/doc/ref/identity.html +++ b/doc/ref/identity.html @@ -42,5 +42,15 @@ MACRO(0) // expands to nothing MACRO(1) // expands to x +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/if.html b/doc/ref/if.html index 50e50b4..ae14190 100644 --- a/doc/ref/if.html +++ b/doc/ref/if.html @@ -48,5 +48,15 @@ BOOST_PP_IF(10, a, b) // expands to a BOOST_PP_IF(0, a, b) // expands to b +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/iif.html b/doc/ref/iif.html index aeb005a..9570bed 100644 --- a/doc/ref/iif.html +++ b/doc/ref/iif.html @@ -51,5 +51,15 @@ OR_IF(1, 0, abc, xyz) // expands to abc OR_IF(0, 0, abc, xyz) // expands to xyz +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/inc.html b/doc/ref/inc.html index 0716d4f..9b455bf 100644 --- a/doc/ref/inc.html +++ b/doc/ref/inc.html @@ -39,5 +39,15 @@ BOOST_PP_INC(BOOST_PP_INC(6)) // expands to 8 BOOST_PP_INC(4) // expands to 5 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/include_self.html b/doc/ref/include_self.html index 91030cb..cff35aa 100644 --- a/doc/ref/include_self.html +++ b/doc/ref/include_self.html @@ -86,5 +86,15 @@ #endif +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/indirect_self.html b/doc/ref/indirect_self.html index 5cbd2a9..21bdda2 100644 --- a/doc/ref/indirect_self.html +++ b/doc/ref/indirect_self.html @@ -30,5 +30,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/intercept.html b/doc/ref/intercept.html index 2d36a31..2938c89 100644 --- a/doc/ref/intercept.html +++ b/doc/ref/intercept.html @@ -36,5 +36,15 @@ BOOST_PP_ENUM_BINARY_PARAMS(3, class T, = int BOOST_PP_INTERCEPT) // expands to class T0 = int, class T1 = int, class T2 = int +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/is_iterating.html b/doc/ref/is_iterating.html index 64f3cab..2d10726 100644 --- a/doc/ref/is_iterating.html +++ b/doc/ref/is_iterating.html @@ -23,5 +23,15 @@
    This macro is defined to guard a file from infinite inclusion.
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/is_selfish.html b/doc/ref/is_selfish.html index 9a3158d..392d0e3 100644 --- a/doc/ref/is_selfish.html +++ b/doc/ref/is_selfish.html @@ -23,5 +23,15 @@
    This macro is defined to guard a file from infinite inclusion.
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/iterate.html b/doc/ref/iterate.html index f98cb46..823cc93 100644 --- a/doc/ref/iterate.html +++ b/doc/ref/iterate.html @@ -68,5 +68,15 @@ #endif +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/iteration.html b/doc/ref/iteration.html index b451196..595f44e 100644 --- a/doc/ref/iteration.html +++ b/doc/ref/iteration.html @@ -40,5 +40,15 @@ #endif +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/iteration_depth.html b/doc/ref/iteration_depth.html index 51cb117..7be6c3b 100644 --- a/doc/ref/iteration_depth.html +++ b/doc/ref/iteration_depth.html @@ -58,5 +58,15 @@ #endif +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/iteration_finish.html b/doc/ref/iteration_finish.html index 8ea63ee..23866b6 100644 --- a/doc/ref/iteration_finish.html +++ b/doc/ref/iteration_finish.html @@ -42,5 +42,15 @@ #endif +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/iteration_flags.html b/doc/ref/iteration_flags.html index 9536f1d..cbf3cad 100644 --- a/doc/ref/iteration_flags.html +++ b/doc/ref/iteration_flags.html @@ -53,5 +53,15 @@ #endif +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/iteration_limits.html b/doc/ref/iteration_limits.html index 54af2a2..d6481f7 100644 --- a/doc/ref/iteration_limits.html +++ b/doc/ref/iteration_limits.html @@ -44,5 +44,15 @@
  • BOOST_PP_ITERATE
  • BOOST_PP_LIMIT_ITERATION
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/iteration_params_x.html b/doc/ref/iteration_params_x.html index ea38437..76ddb4d 100644 --- a/doc/ref/iteration_params_x.html +++ b/doc/ref/iteration_params_x.html @@ -62,5 +62,15 @@
  • BOOST_PP_ITERATE
  • BOOST_PP_LIMIT_ITERATION
  • +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/iteration_start.html b/doc/ref/iteration_start.html index a3e7681..75f06a2 100644 --- a/doc/ref/iteration_start.html +++ b/doc/ref/iteration_start.html @@ -42,5 +42,15 @@ #endif +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/less.html b/doc/ref/less.html index bc1a74d..7e43fee 100644 --- a/doc/ref/less.html +++ b/doc/ref/less.html @@ -50,5 +50,15 @@ BOOST_PP_LESS(4, 3) // expands to 0 BOOST_PP_LESS(3, 4) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/less_d.html b/doc/ref/less_d.html index 58806aa..8aa72d3 100644 --- a/doc/ref/less_d.html +++ b/doc/ref/less_d.html @@ -55,5 +55,15 @@ BOOST_PP_LIST_FILTER(PRED, nil, LIST) // expands to (1, (2, BOOST_PP_NIL)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/less_equal.html b/doc/ref/less_equal.html index 91fdbe1..b8b33dc 100644 --- a/doc/ref/less_equal.html +++ b/doc/ref/less_equal.html @@ -50,5 +50,15 @@ BOOST_PP_LESS_EQUAL(4, 3) // expands to 0 BOOST_PP_LESS_EQUAL(5, 5) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/less_equal_d.html b/doc/ref/less_equal_d.html index 77159e6..d497a8b 100644 --- a/doc/ref/less_equal_d.html +++ b/doc/ref/less_equal_d.html @@ -55,5 +55,15 @@ BOOST_PP_LIST_FILTER(PRED, nil, LIST) // expands to (1, (2, (3, (4, BOOST_PP_NIL)))) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/limit_dim.html b/doc/ref/limit_dim.html index e3e69e3..2f57600 100644 --- a/doc/ref/limit_dim.html +++ b/doc/ref/limit_dim.html @@ -20,5 +20,15 @@
    Header:  <boost/preprocessor/config/limits.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/limit_for.html b/doc/ref/limit_for.html index 522432e..3a6bc3c 100644 --- a/doc/ref/limit_for.html +++ b/doc/ref/limit_for.html @@ -19,5 +19,15 @@
    Header:  <boost/preprocessor/config/limits.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/limit_iteration.html b/doc/ref/limit_iteration.html index 3690958..dd9660b 100644 --- a/doc/ref/limit_iteration.html +++ b/doc/ref/limit_iteration.html @@ -19,5 +19,15 @@
    Header:  <boost/preprocessor/config/limits.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/limit_iteration_dim.html b/doc/ref/limit_iteration_dim.html index c0b1fcf..18f2368 100644 --- a/doc/ref/limit_iteration_dim.html +++ b/doc/ref/limit_iteration_dim.html @@ -19,5 +19,15 @@
    Header:  <boost/preprocessor/config/limits.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/limit_mag.html b/doc/ref/limit_mag.html index 7fc3521..fc6028e 100644 --- a/doc/ref/limit_mag.html +++ b/doc/ref/limit_mag.html @@ -19,5 +19,15 @@
    Header:  <boost/preprocessor/config/limits.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/limit_repeat.html b/doc/ref/limit_repeat.html index 60cb499..7db83e3 100644 --- a/doc/ref/limit_repeat.html +++ b/doc/ref/limit_repeat.html @@ -19,5 +19,15 @@
    Header:  <boost/preprocessor/config/limits.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/limit_seq.html b/doc/ref/limit_seq.html index d7280f3..b7bd5ea 100644 --- a/doc/ref/limit_seq.html +++ b/doc/ref/limit_seq.html @@ -26,5 +26,15 @@
    Header:  <boost/preprocessor/config/limits.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/limit_slot_count.html b/doc/ref/limit_slot_count.html index 3015d20..5956375 100644 --- a/doc/ref/limit_slot_count.html +++ b/doc/ref/limit_slot_count.html @@ -19,5 +19,15 @@
    Header:  <boost/preprocessor/config/limits.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/limit_slot_sig.html b/doc/ref/limit_slot_sig.html index 768fb8a..ffee498 100644 --- a/doc/ref/limit_slot_sig.html +++ b/doc/ref/limit_slot_sig.html @@ -19,5 +19,15 @@
    Header:  <boost/preprocessor/config/limits.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/limit_tuple.html b/doc/ref/limit_tuple.html index 8baea96..63288dc 100644 --- a/doc/ref/limit_tuple.html +++ b/doc/ref/limit_tuple.html @@ -19,5 +19,15 @@
    Header:  <boost/preprocessor/config/limits.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/limit_while.html b/doc/ref/limit_while.html index 6c0d4db..49ce676 100644 --- a/doc/ref/limit_while.html +++ b/doc/ref/limit_while.html @@ -19,5 +19,15 @@
    Header:  <boost/preprocessor/config/limits.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/line.html b/doc/ref/line.html index b23dfd1..8646873 100644 --- a/doc/ref/line.html +++ b/doc/ref/line.html @@ -97,5 +97,15 @@ #endif +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_append.html b/doc/ref/list_append.html index 1f84f50..4bbc0cc 100644 --- a/doc/ref/list_append.html +++ b/doc/ref/list_append.html @@ -54,5 +54,15 @@ BOOST_PP_LIST_APPEND(L1, L2) // expands to (a, (b, (c, (x, (y, (z, BOOST_PP_NIL)))))) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_append_d.html b/doc/ref/list_append_d.html index 5b7a06b..7d5d69c 100644 --- a/doc/ref/list_append_d.html +++ b/doc/ref/list_append_d.html @@ -81,5 +81,15 @@ LIST_MULTIPLY(3, LIST) // expands to (1, (2, (3, (1, (2, (3, (1, (2, (3, BOOST_PP_NIL))))))))) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_at.html b/doc/ref/list_at.html index 63a8d41..1791acb 100644 --- a/doc/ref/list_at.html +++ b/doc/ref/list_at.html @@ -46,5 +46,15 @@ BOOST_PP_LIST_AT(LIST, 0) // expands to a BOOST_PP_LIST_AT(LIST, 2) // expands to c +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_at_d.html b/doc/ref/list_at_d.html index c1df387..f860819 100644 --- a/doc/ref/list_at_d.html +++ b/doc/ref/list_at_d.html @@ -48,5 +48,15 @@ BOOST_PP_WHILE(PRED, OP, LIST) // expands to (0, (1, BOOST_PP_NIL)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_cat.html b/doc/ref/list_cat.html index f278f32..03e568b 100644 --- a/doc/ref/list_cat.html +++ b/doc/ref/list_cat.html @@ -43,5 +43,15 @@ BOOST_PP_LIST_CAT(LIST) // expands to abc +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_cat_d.html b/doc/ref/list_cat_d.html index 71ef0eb..8c882b1 100644 --- a/doc/ref/list_cat_d.html +++ b/doc/ref/list_cat_d.html @@ -52,5 +52,15 @@ BOOST_PP_LIST_FOLD_LEFT(OP, _, LISTS) // expands to _abcdef +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_cons.html b/doc/ref/list_cons.html index ef7cb1c..09db6f0 100644 --- a/doc/ref/list_cons.html +++ b/doc/ref/list_cons.html @@ -72,5 +72,15 @@ BOOST_PP_LIST_REST(OLD) == BOOST_PP_LIST_REST(NEW) // expands to (b, (c, BOOST_PP_NIL)) == (b, (c, BOOST_PP_NIL)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_enum.html b/doc/ref/list_enum.html index cb7d635..08e4635 100644 --- a/doc/ref/list_enum.html +++ b/doc/ref/list_enum.html @@ -47,5 +47,15 @@ BOOST_PP_LIST_ENUM(LIST) // expands to w, x, y, z +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_enum_r.html b/doc/ref/list_enum_r.html index d39a083..811f727 100644 --- a/doc/ref/list_enum_r.html +++ b/doc/ref/list_enum_r.html @@ -54,5 +54,15 @@ BOOST_PP_FOR(LIST, PRED, OP, MACRO) // expands to [x, y, z] [y, z] [z] +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_filter.html b/doc/ref/list_filter.html index 17b56f4..282b518 100644 --- a/doc/ref/list_filter.html +++ b/doc/ref/list_filter.html @@ -61,5 +61,15 @@ BOOST_PP_LIST_FILTER(PRED, 3, LIST) // expands to (1, (3, (2, BOOST_PP_NIL))) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_filter_d.html b/doc/ref/list_filter_d.html index 8c34263..5abd093 100644 --- a/doc/ref/list_filter_d.html +++ b/doc/ref/list_filter_d.html @@ -71,5 +71,15 @@ BOOST_PP_NIL)))) */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_first.html b/doc/ref/list_first.html index b927b8f..bb01f69 100644 --- a/doc/ref/list_first.html +++ b/doc/ref/list_first.html @@ -47,5 +47,15 @@ BOOST_PP_LIST_REST(OLD) == BOOST_PP_LIST_REST(NEW) // expands to (b, (c, BOOST_PP_NIL)) == (b, (c, BOOST_PP_NIL)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_first_n.html b/doc/ref/list_first_n.html index 3a809a2..ab37818 100644 --- a/doc/ref/list_first_n.html +++ b/doc/ref/list_first_n.html @@ -47,5 +47,15 @@ BOOST_PP_LIST_FIRST_N(2, LIST) // expands to (a, (b, BOOST_PP_NIL)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_first_n_d.html b/doc/ref/list_first_n_d.html index a1e047a..13e2f27 100644 --- a/doc/ref/list_first_n_d.html +++ b/doc/ref/list_first_n_d.html @@ -56,5 +56,15 @@ ((a, (b, BOOST_PP_NIL)) , BOOST_PP_NIL ))) */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_fold_left.html b/doc/ref/list_fold_left.html index 10d6868..25dabf8 100644 --- a/doc/ref/list_fold_left.html +++ b/doc/ref/list_fold_left.html @@ -60,5 +60,15 @@ BOOST_PP_LIST_FOLD_LEFT(OP, _, LIST) // expands to _abc +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_fold_left_2nd.html b/doc/ref/list_fold_left_2nd.html index 83c7674..b7d16c3 100644 --- a/doc/ref/list_fold_left_2nd.html +++ b/doc/ref/list_fold_left_2nd.html @@ -60,5 +60,15 @@ BOOST_PP_LIST_FOLD_LEFT_2ND(OP, _, LIST) // expands to _abc +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_fold_left_2nd_d.html b/doc/ref/list_fold_left_2nd_d.html index 4212022..6c84657 100644 --- a/doc/ref/list_fold_left_2nd_d.html +++ b/doc/ref/list_fold_left_2nd_d.html @@ -71,5 +71,15 @@ (_abc , (_abc , (_abc , BOOST_PP_NIL))) */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_fold_left_d.html b/doc/ref/list_fold_left_d.html index 8eb23c2..c7f6dab 100644 --- a/doc/ref/list_fold_left_d.html +++ b/doc/ref/list_fold_left_d.html @@ -66,5 +66,15 @@ (_abc, (_abc, (_abc, BOOST_PP_NIL))) */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_fold_left_d_old.html b/doc/ref/list_fold_left_d_old.html index 65361b0..c863ebd 100644 --- a/doc/ref/list_fold_left_d_old.html +++ b/doc/ref/list_fold_left_d_old.html @@ -71,5 +71,15 @@ (_abc, (_abc, (_abc, BOOST_PP_NIL))) */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_fold_right.html b/doc/ref/list_fold_right.html index 0eb0236..a129372 100644 --- a/doc/ref/list_fold_right.html +++ b/doc/ref/list_fold_right.html @@ -64,5 +64,15 @@ BOOST_PP_LIST_FOLD_RIGHT(OP, _, LIST) // expands to _cba +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_fold_right_2nd.html b/doc/ref/list_fold_right_2nd.html index b15eaed..48791d1 100644 --- a/doc/ref/list_fold_right_2nd.html +++ b/doc/ref/list_fold_right_2nd.html @@ -64,5 +64,15 @@ BOOST_PP_LIST_FOLD_RIGHT_2ND(OP, _, LIST) // expands to _cba +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_fold_right_2nd_d.html b/doc/ref/list_fold_right_2nd_d.html index de5fef7..ce343ef 100644 --- a/doc/ref/list_fold_right_2nd_d.html +++ b/doc/ref/list_fold_right_2nd_d.html @@ -71,5 +71,15 @@ (_cba , (_cba , (_cba , BOOST_PP_NIL))) */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_fold_right_d.html b/doc/ref/list_fold_right_d.html index bf3dcc1..f0c5403 100644 --- a/doc/ref/list_fold_right_d.html +++ b/doc/ref/list_fold_right_d.html @@ -66,5 +66,15 @@ (_cba, (_cba, (_cba, BOOST_PP_NIL))) */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_fold_right_d_old.html b/doc/ref/list_fold_right_d_old.html index baa6226..5703966 100644 --- a/doc/ref/list_fold_right_d_old.html +++ b/doc/ref/list_fold_right_d_old.html @@ -75,5 +75,15 @@ (_cba, (_cba, (_cba, BOOST_PP_NIL))) */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_for_each.html b/doc/ref/list_for_each.html index 1988a2f..2cd58be 100644 --- a/doc/ref/list_for_each.html +++ b/doc/ref/list_for_each.html @@ -60,5 +60,15 @@ BOOST_PP_LIST_FOR_EACH(MACRO, _, LIST) // expands to w_ x_ y_ z_ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_for_each_i.html b/doc/ref/list_for_each_i.html index 45b2c06..c2f09b2 100644 --- a/doc/ref/list_for_each_i.html +++ b/doc/ref/list_for_each_i.html @@ -60,5 +60,15 @@ BOOST_PP_LIST_FOR_EACH_I(MACRO, _, LIST) // expands to w_0 x_1 y_2 z_3 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_for_each_i_r.html b/doc/ref/list_for_each_i_r.html index e4ba34c..caddc74 100644 --- a/doc/ref/list_for_each_i_r.html +++ b/doc/ref/list_for_each_i_r.html @@ -67,5 +67,15 @@ BOOST_PP_FOR(LIST, PRED, OP, MACRO) // expands to [x0 y1 z2] [y0 z1] [z0] +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_for_each_product.html b/doc/ref/list_for_each_product.html index af1d4e5..ec4e371 100644 --- a/doc/ref/list_for_each_product.html +++ b/doc/ref/list_for_each_product.html @@ -71,5 +71,15 @@ BOOST_PP_LIST_FOR_EACH_PRODUCT(MACRO, 2, (L1, L2)) // expands to (a, x) (a, y) (a, z) (b, x) (b, y) (b, z) (c, x) (c, y) (c, z) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_for_each_product_r.html b/doc/ref/list_for_each_product_r.html index 8dba2a3..c48d452 100644 --- a/doc/ref/list_for_each_product_r.html +++ b/doc/ref/list_for_each_product_r.html @@ -103,5 +103,15 @@ BOOST_PP_FOR((2, (L1, L2)), PRED, OP, MACRO) // expands to (x, x) (x, y) (y, x) (y, y) (a, a) (a, b) (b, a) (b, b) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_for_each_r.html b/doc/ref/list_for_each_r.html index e751063..2791977 100644 --- a/doc/ref/list_for_each_r.html +++ b/doc/ref/list_for_each_r.html @@ -66,5 +66,15 @@ BOOST_PP_FOR(LIST, PRED, OP, MACRO) // expands to [x y z] [y z] [z] +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_is_cons.html b/doc/ref/list_is_cons.html index 8ca8570..cb87f56 100644 --- a/doc/ref/list_is_cons.html +++ b/doc/ref/list_is_cons.html @@ -36,5 +36,15 @@ BOOST_PP_LIST_IS_CONS(LIST) // expands to 1 BOOST_PP_LIST_IS_CONS(BOOST_PP_LIST_REST(LIST)) // expands to 0 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_is_nil.html b/doc/ref/list_is_nil.html index 56e5bf4..5f58d85 100644 --- a/doc/ref/list_is_nil.html +++ b/doc/ref/list_is_nil.html @@ -36,5 +36,15 @@ BOOST_PP_LIST_IS_NIL(LIST) // expands to 0 BOOST_PP_LIST_IS_NIL(BOOST_PP_LIST_REST(LIST)) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_nil.html b/doc/ref/list_nil.html index 924de82..fcd590c 100644 --- a/doc/ref/list_nil.html +++ b/doc/ref/list_nil.html @@ -53,5 +53,15 @@ BOOST_PP_LIST_REST(OLD) == BOOST_PP_LIST_RESTK(NEW) // expands to (b, (c, BOOST_PP_NIL)) == (b, (c, BOOST_PP_NIL)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_rest.html b/doc/ref/list_rest.html index caa02ab..fe987d8 100644 --- a/doc/ref/list_rest.html +++ b/doc/ref/list_rest.html @@ -47,5 +47,15 @@ BOOST_PP_LIST_REST(OLD) == BOOST_PP_LIST_REST(NEW) // expands to (b, (c, BOOST_PP_NIL)) == (b, (c, BOOST_PP_NIL)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_rest_n.html b/doc/ref/list_rest_n.html index 488a119..56c6925 100644 --- a/doc/ref/list_rest_n.html +++ b/doc/ref/list_rest_n.html @@ -47,5 +47,15 @@ BOOST_PP_LIST_REST_N(2, LIST) // expands to (c, (d, BOOST_PP_NIL)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_rest_n_d.html b/doc/ref/list_rest_n_d.html index c848f67..2228669 100644 --- a/doc/ref/list_rest_n_d.html +++ b/doc/ref/list_rest_n_d.html @@ -56,5 +56,15 @@ ((c, (d, BOOST_PP_NIL)), BOOST_PP_NIL))) */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_reverse.html b/doc/ref/list_reverse.html index 8d86b33..0fe6ac3 100644 --- a/doc/ref/list_reverse.html +++ b/doc/ref/list_reverse.html @@ -40,5 +40,15 @@ BOOST_PP_LIST_REVERSE(LIST) // expands to (3, (2, (1, (0, BOOST_PP_NIL)))) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_reverse_d.html b/doc/ref/list_reverse_d.html index 50aa008..211e157 100644 --- a/doc/ref/list_reverse_d.html +++ b/doc/ref/list_reverse_d.html @@ -48,5 +48,15 @@ ((d, (c, (b, (a, BOOST_PP_NIL)))), BOOST_PP_NIL))) */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_size.html b/doc/ref/list_size.html index 482dae9..42faf5b 100644 --- a/doc/ref/list_size.html +++ b/doc/ref/list_size.html @@ -40,5 +40,15 @@ BOOST_PP_LIST_SIZE(LIST) // expands to 4 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_size_d.html b/doc/ref/list_size_d.html index 2020f2c..85e889f 100644 --- a/doc/ref/list_size_d.html +++ b/doc/ref/list_size_d.html @@ -52,5 +52,15 @@ BOOST_PP_LIST_FOLD_LEFT(OP, 0, LIST) // expands to 7 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_to_tuple.html b/doc/ref/list_to_tuple.html index 0b6824f..f74cb63 100644 --- a/doc/ref/list_to_tuple.html +++ b/doc/ref/list_to_tuple.html @@ -47,5 +47,15 @@ BOOST_PP_LIST_TO_TUPLE(LIST) // expands to (w, x, y, z) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_to_tuple_r.html b/doc/ref/list_to_tuple_r.html index f3199ae..2c4f7a5 100644 --- a/doc/ref/list_to_tuple_r.html +++ b/doc/ref/list_to_tuple_r.html @@ -54,5 +54,15 @@ BOOST_PP_FOR(LIST, PRED, OP, MACRO) // expands to (x, y, z) (y, z) (z) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_transform.html b/doc/ref/list_transform.html index 366a96e..0b7a471 100644 --- a/doc/ref/list_transform.html +++ b/doc/ref/list_transform.html @@ -63,5 +63,15 @@ BOOST_PP_LIST_TRANSFORM(OP, 3, LIST) // expands to (0, (2, (1, (4, BOOST_PP_NIL)))) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/list_transform_d.html b/doc/ref/list_transform_d.html index c5b0274..9dd69de 100644 --- a/doc/ref/list_transform_d.html +++ b/doc/ref/list_transform_d.html @@ -71,5 +71,15 @@ BOOST_PP_NIL)))) */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/local_iterate.html b/doc/ref/local_iterate.html index 1e7f10c..2ba4640 100644 --- a/doc/ref/local_iterate.html +++ b/doc/ref/local_iterate.html @@ -47,5 +47,15 @@ template<> struct sample<4> { enum { value = 4 }; }; template<> struct sample<5> { enum { value = 5 }; }; */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/local_limits.html b/doc/ref/local_limits.html index 54861a6..ab45ad7 100644 --- a/doc/ref/local_limits.html +++ b/doc/ref/local_limits.html @@ -65,5 +65,15 @@ template<> struct sample<4> { enum { value = 4 }; }; template<> struct sample<5> { enum { value = 5 }; }; */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/local_macro.html b/doc/ref/local_macro.html index 5792e41..72fa723 100644 --- a/doc/ref/local_macro.html +++ b/doc/ref/local_macro.html @@ -49,5 +49,15 @@ template<> struct sample<4> { enum { value = 4 }; }; template<> struct sample<5> { enum { value = 5 }; }; */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/lparen.html b/doc/ref/lparen.html index 20cf615..b4f6462 100644 --- a/doc/ref/lparen.html +++ b/doc/ref/lparen.html @@ -37,5 +37,15 @@ MACRO(BOOST_PP_LPAREN(), abc) // expands to abc MACRO((10) Y BOOST_PP_LPAREN(), result) // expands to 10 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/lparen_if.html b/doc/ref/lparen_if.html index 581f33e..dc22344 100644 --- a/doc/ref/lparen_if.html +++ b/doc/ref/lparen_if.html @@ -46,5 +46,15 @@ MACRO(0, text) // expands to text MACRO(1, text) // expands to (text) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/max.html b/doc/ref/max.html index e9d9d86..6bf1c2b 100644 --- a/doc/ref/max.html +++ b/doc/ref/max.html @@ -49,5 +49,15 @@ BOOST_PP_MAX(5, 7) // expands to 7 BOOST_PP_MAX(3, 3) // expands to 3 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/max_d.html b/doc/ref/max_d.html index 6914503..6fe80ce 100644 --- a/doc/ref/max_d.html +++ b/doc/ref/max_d.html @@ -55,5 +55,15 @@ LIST_MAX(LIST) // expands to 5 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/min.html b/doc/ref/min.html index a50c829..96de99f 100644 --- a/doc/ref/min.html +++ b/doc/ref/min.html @@ -49,5 +49,15 @@ BOOST_PP_MIN(5, 7) // expands to 5 BOOST_PP_MIN(3, 3) // expands to 3 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/min_d.html b/doc/ref/min_d.html index eaf5a8e..2ab511b 100644 --- a/doc/ref/min_d.html +++ b/doc/ref/min_d.html @@ -55,5 +55,15 @@ LIST_MIN(LIST) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/mod.html b/doc/ref/mod.html index b7731ff..1bcfce2 100644 --- a/doc/ref/mod.html +++ b/doc/ref/mod.html @@ -48,5 +48,15 @@ BOOST_PP_MOD(11, 5) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/mod_d.html b/doc/ref/mod_d.html index c0b91a8..8324ac4 100644 --- a/doc/ref/mod_d.html +++ b/doc/ref/mod_d.html @@ -60,5 +60,15 @@ EVEN(LIST) // expands to (2, (4, BOOST_PP_NIL)) ODD(LIST) // expands to (1, (3, (5, BOOST_PP_NIL))) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/mul.html b/doc/ref/mul.html index 40de6a5..b5add60 100644 --- a/doc/ref/mul.html +++ b/doc/ref/mul.html @@ -53,5 +53,15 @@ BOOST_PP_MUL(4, 4) // expands to 16 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/mul_d.html b/doc/ref/mul_d.html index 3e23754..e277b62 100644 --- a/doc/ref/mul_d.html +++ b/doc/ref/mul_d.html @@ -76,5 +76,15 @@ EXP(4, 2) // expands to 16 EXP(2, 3) // expands to 8 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/nil.html b/doc/ref/nil.html index 038b69d..eb9b79f 100644 --- a/doc/ref/nil.html +++ b/doc/ref/nil.html @@ -26,5 +26,15 @@ BOOST_PP_LIST_FIRST(x) // expands to x BOOST_PP_LIST_REST(x) // expands to (y, (z, BOOST_PP_NIL)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/nor.html b/doc/ref/nor.html index a48a71a..cd16fed 100644 --- a/doc/ref/nor.html +++ b/doc/ref/nor.html @@ -49,5 +49,15 @@ BOOST_PP_NOR(4, 0) // expands to 0 BOOST_PP_NOR(0, 0) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/not.html b/doc/ref/not.html index 5e07248..520e2b0 100644 --- a/doc/ref/not.html +++ b/doc/ref/not.html @@ -44,5 +44,15 @@ BOOST_PP_NOT(55) // expands to 0 BOOST_PP_NOT(0) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/not_equal.html b/doc/ref/not_equal.html index ecabeef..673137c 100644 --- a/doc/ref/not_equal.html +++ b/doc/ref/not_equal.html @@ -49,5 +49,15 @@ BOOST_PP_NOT_EQUAL(4, 3) // expands to 1 BOOST_PP_NOT_EQUAL(5, 5) // expands to 0 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/not_equal_d.html b/doc/ref/not_equal_d.html index d817660..b395807 100644 --- a/doc/ref/not_equal_d.html +++ b/doc/ref/not_equal_d.html @@ -54,5 +54,15 @@ BOOST_PP_NOT_EQUAL_D(1, 4, 3) // expands to 1 BOOST_PP_NOT_EQUAL_D(1, 5, 5) // expands to 0 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/or.html b/doc/ref/or.html index f82613d..8ca0216 100644 --- a/doc/ref/or.html +++ b/doc/ref/or.html @@ -49,5 +49,15 @@ BOOST_PP_OR(4, 3) // expands to 1 BOOST_PP_OR(5, 0) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/relative_finish.html b/doc/ref/relative_finish.html index db084bf..546d0c4 100644 --- a/doc/ref/relative_finish.html +++ b/doc/ref/relative_finish.html @@ -31,5 +31,15 @@
    Header:  <boost/preprocessor/iteration/iterate.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/relative_flags.html b/doc/ref/relative_flags.html index bfce041..f1cfb2f 100644 --- a/doc/ref/relative_flags.html +++ b/doc/ref/relative_flags.html @@ -31,5 +31,15 @@
    Header:  <boost/preprocessor/iteration/iterate.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/relative_iteration.html b/doc/ref/relative_iteration.html index 8fb387c..86e2a00 100644 --- a/doc/ref/relative_iteration.html +++ b/doc/ref/relative_iteration.html @@ -86,5 +86,15 @@ #endif +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/relative_start.html b/doc/ref/relative_start.html index 59c6f03..8204f47 100644 --- a/doc/ref/relative_start.html +++ b/doc/ref/relative_start.html @@ -31,5 +31,15 @@
    Header:  <boost/preprocessor/iteration/iterate.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/repeat.html b/doc/ref/repeat.html index d424471..0fac1d2 100644 --- a/doc/ref/repeat.html +++ b/doc/ref/repeat.html @@ -65,5 +65,15 @@ BOOST_PP_REPEAT(5, DECL, int x) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/repeat_1st.html b/doc/ref/repeat_1st.html index adc1eda..bc3d1f8 100644 --- a/doc/ref/repeat_1st.html +++ b/doc/ref/repeat_1st.html @@ -67,5 +67,15 @@ BOOST_PP_REPEAT_1ST(5, DECL, int x) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/repeat_2nd.html b/doc/ref/repeat_2nd.html index aa0fa2e..4e587ab 100644 --- a/doc/ref/repeat_2nd.html +++ b/doc/ref/repeat_2nd.html @@ -67,5 +67,15 @@ BOOST_PP_REPEAT_2ND(5, DECL, int x) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/repeat_3rd.html b/doc/ref/repeat_3rd.html index 67f207d..6dc1002 100644 --- a/doc/ref/repeat_3rd.html +++ b/doc/ref/repeat_3rd.html @@ -67,5 +67,15 @@ BOOST_PP_REPEAT_3RD(5, DECL, int x) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/repeat_from_to.html b/doc/ref/repeat_from_to.html index 9203ae2..429731e 100644 --- a/doc/ref/repeat_from_to.html +++ b/doc/ref/repeat_from_to.html @@ -87,5 +87,15 @@ int x8 = 8; int x9 = 9; */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/repeat_from_to_1st.html b/doc/ref/repeat_from_to_1st.html index 1c2fc61..1dda4ee 100644 --- a/doc/ref/repeat_from_to_1st.html +++ b/doc/ref/repeat_from_to_1st.html @@ -76,5 +76,15 @@ BOOST_PP_REPEAT_FROM_TO_1ST(1, 6, MACRO, nil) // expands to (1) (2) (3) (4) (5) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/repeat_from_to_2nd.html b/doc/ref/repeat_from_to_2nd.html index 31e9f06..d19e704 100644 --- a/doc/ref/repeat_from_to_2nd.html +++ b/doc/ref/repeat_from_to_2nd.html @@ -76,5 +76,15 @@ BOOST_PP_REPEAT_FROM_TO_2ND(1, 6, MACRO, nil) // expands to (1) (2) (3) (4) (5) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/repeat_from_to_3rd.html b/doc/ref/repeat_from_to_3rd.html index bdd05af..a51434a 100644 --- a/doc/ref/repeat_from_to_3rd.html +++ b/doc/ref/repeat_from_to_3rd.html @@ -76,5 +76,15 @@ BOOST_PP_REPEAT_FROM_TO_3RD(1, 6, MACRO, nil) // expands to (1) (2) (3) (4) (5) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/repeat_from_to_d.html b/doc/ref/repeat_from_to_d.html index b61c32f..7fda915 100644 --- a/doc/ref/repeat_from_to_d.html +++ b/doc/ref/repeat_from_to_d.html @@ -68,5 +68,15 @@
    Header:  <boost/preprocessor/repetition/repeat_from_to.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/repeat_from_to_d_z.html b/doc/ref/repeat_from_to_d_z.html index b110fbc..de68b2d 100644 --- a/doc/ref/repeat_from_to_d_z.html +++ b/doc/ref/repeat_from_to_d_z.html @@ -69,5 +69,15 @@
    Header:  <boost/preprocessor/repetition/repeat_from_to.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/repeat_from_to_z.html b/doc/ref/repeat_from_to_z.html index 03cb4e8..b81fc2c 100644 --- a/doc/ref/repeat_from_to_z.html +++ b/doc/ref/repeat_from_to_z.html @@ -90,5 +90,15 @@ (1 xyz 2 xyz 3 xyz) */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/repeat_z.html b/doc/ref/repeat_z.html index 2f5fcd4..324feb8 100644 --- a/doc/ref/repeat_z.html +++ b/doc/ref/repeat_z.html @@ -85,5 +85,15 @@ template<class, class, class> class T2 */ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/rparen.html b/doc/ref/rparen.html index ac094c1..93bdd4f 100644 --- a/doc/ref/rparen.html +++ b/doc/ref/rparen.html @@ -38,5 +38,15 @@ MACRO(abc, BOOST_PP_RPAREN()) // expands to abc MACRO(BOOST_PP_EMPTY BOOST_PP_RPAREN()(), 10) // expands to 10 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/rparen_if.html b/doc/ref/rparen_if.html index 3e1d2a1..f13387e 100644 --- a/doc/ref/rparen_if.html +++ b/doc/ref/rparen_if.html @@ -46,5 +46,15 @@ MACRO(0, text) // expands to text MACRO(1, text) // expands to (text) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_cat.html b/doc/ref/seq_cat.html index 7915489..569ce62 100644 --- a/doc/ref/seq_cat.html +++ b/doc/ref/seq_cat.html @@ -56,5 +56,15 @@ BOOST_PP_SEQ_CAT(SEQ) // expands to abc +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_cat_s.html b/doc/ref/seq_cat_s.html index 0acfef3..d7e57ce 100644 --- a/doc/ref/seq_cat_s.html +++ b/doc/ref/seq_cat_s.html @@ -46,5 +46,15 @@
    Header:  <boost/preprocessor/seq/cat.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_elem.html b/doc/ref/seq_elem.html index 1f18295..7d3c213 100644 --- a/doc/ref/seq_elem.html +++ b/doc/ref/seq_elem.html @@ -64,5 +64,15 @@ BOOST_PP_SEQ_ELEM(88, SEQ) // expands to 88 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_enum.html b/doc/ref/seq_enum.html index b43f6d6..4e85e65 100644 --- a/doc/ref/seq_enum.html +++ b/doc/ref/seq_enum.html @@ -51,5 +51,15 @@ BOOST_PP_SEQ_ENUM(SEQ) // expands to B, O, O, S, T +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_filter.html b/doc/ref/seq_filter.html index 6fb3a18..f584af7 100644 --- a/doc/ref/seq_filter.html +++ b/doc/ref/seq_filter.html @@ -78,5 +78,15 @@ // expands to (1)(3)(2) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_filter_s.html b/doc/ref/seq_filter_s.html index b0014db..a8817d6 100644 --- a/doc/ref/seq_filter_s.html +++ b/doc/ref/seq_filter_s.html @@ -64,5 +64,15 @@
    Header:  <boost/preprocessor/seq/filter.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_first_n.html b/doc/ref/seq_first_n.html index ce86e45..2db881b 100644 --- a/doc/ref/seq_first_n.html +++ b/doc/ref/seq_first_n.html @@ -59,5 +59,15 @@ BOOST_PP_SEQ_FIRST_N(2, SEQ) // expands to (a)(b) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_fold_left.html b/doc/ref/seq_fold_left.html index e9da1a0..e7da2e2 100644 --- a/doc/ref/seq_fold_left.html +++ b/doc/ref/seq_fold_left.html @@ -75,5 +75,15 @@ BOOST_PP_SEQ_FOLD_LEFT(OP, BOOST_PP_SEQ_HEAD(SEQ), BOOST_PP_SEQ_TAIL(SEQ)) // expands to boost +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_fold_left_s.html b/doc/ref/seq_fold_left_s.html index f31e0f2..7ca423f 100644 --- a/doc/ref/seq_fold_left_s.html +++ b/doc/ref/seq_fold_left_s.html @@ -81,5 +81,15 @@ // expands to (_abc)(_abc)(_abc) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_fold_right.html b/doc/ref/seq_fold_right.html index 6f00cb3..e1c424b 100644 --- a/doc/ref/seq_fold_right.html +++ b/doc/ref/seq_fold_right.html @@ -77,5 +77,15 @@ BOOST_PP_SEQ_FOLD_RIGHT(OP, BOOST_PP_SEQ_ELEM(4, SEQ), BOOST_PP_SEQ_POP_BACK(SEQ)) // expands to boost +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_fold_right_s.html b/doc/ref/seq_fold_right_s.html index 7dafc0e..35ce6b5 100644 --- a/doc/ref/seq_fold_right_s.html +++ b/doc/ref/seq_fold_right_s.html @@ -82,5 +82,15 @@ // expands to (_cba)(_cba)(_cba) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_for_each.html b/doc/ref/seq_for_each.html index 0d5ebf5..c885dfa 100644 --- a/doc/ref/seq_for_each.html +++ b/doc/ref/seq_for_each.html @@ -75,5 +75,15 @@ BOOST_PP_SEQ_FOR_EACH(MACRO, _, SEQ) // expands to w_ x_ y_ z_ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_for_each_i.html b/doc/ref/seq_for_each_i.html index bba47a4..51bdc34 100644 --- a/doc/ref/seq_for_each_i.html +++ b/doc/ref/seq_for_each_i.html @@ -76,5 +76,15 @@ BOOST_PP_SEQ_FOR_EACH_I(MACRO, _, SEQ) // expands to a_0 b_1 c_2 d_3 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_for_each_i_r.html b/doc/ref/seq_for_each_i_r.html index fd6ef10..73f23e4 100644 --- a/doc/ref/seq_for_each_i_r.html +++ b/doc/ref/seq_for_each_i_r.html @@ -63,5 +63,15 @@
    Header:  <boost/preprocessor/seq/for_each_i.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_for_each_product.html b/doc/ref/seq_for_each_product.html index 4cea371..bef29a6 100644 --- a/doc/ref/seq_for_each_product.html +++ b/doc/ref/seq_for_each_product.html @@ -85,5 +85,15 @@ // (c, x, p) (c, x, q) (c, y, p) (c, y, q) (c, z, p) (c, z, q) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_for_each_product_r.html b/doc/ref/seq_for_each_product_r.html index 49dc1fa..1692f73 100644 --- a/doc/ref/seq_for_each_product_r.html +++ b/doc/ref/seq_for_each_product_r.html @@ -66,5 +66,15 @@
    Header:  <boost/preprocessor/seq/for_each_product.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_for_each_r.html b/doc/ref/seq_for_each_r.html index fd4f71c..cda4d07 100644 --- a/doc/ref/seq_for_each_r.html +++ b/doc/ref/seq_for_each_r.html @@ -62,5 +62,15 @@
    Header:  <boost/preprocessor/seq/for_each.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_head.html b/doc/ref/seq_head.html index 82f73fe..33e87d8 100644 --- a/doc/ref/seq_head.html +++ b/doc/ref/seq_head.html @@ -48,5 +48,15 @@ BOOST_PP_SEQ_TAIL(SEQ) // expands to (b)(c) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_insert.html b/doc/ref/seq_insert.html index 0f456e6..1d2269a 100644 --- a/doc/ref/seq_insert.html +++ b/doc/ref/seq_insert.html @@ -55,5 +55,15 @@ BOOST_PP_SEQ_INSERT(SEQ, 2, c) // expands to (a)(b)(c)(d) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_nil.html b/doc/ref/seq_nil.html index 38753a7..942f1ed 100644 --- a/doc/ref/seq_nil.html +++ b/doc/ref/seq_nil.html @@ -85,5 +85,15 @@ // expands to (b)(a) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_pop_back.html b/doc/ref/seq_pop_back.html index a00bf2e..b7e968f 100644 --- a/doc/ref/seq_pop_back.html +++ b/doc/ref/seq_pop_back.html @@ -53,5 +53,15 @@ BOOST_PP_SEQ_POP_BACK(SEQ) // expands to (a)(b) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_pop_front.html b/doc/ref/seq_pop_front.html index 5ce408a..a93691c 100644 --- a/doc/ref/seq_pop_front.html +++ b/doc/ref/seq_pop_front.html @@ -53,5 +53,15 @@ BOOST_PP_SEQ_POP_FRONT(SEQ) // expands to (b)(c) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_push_back.html b/doc/ref/seq_push_back.html index 44821c1..b190571 100644 --- a/doc/ref/seq_push_back.html +++ b/doc/ref/seq_push_back.html @@ -61,5 +61,15 @@ BOOST_PP_SEQ_PUSH_BACK(SEQ, c) // expands to (a)(b)(c) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_push_front.html b/doc/ref/seq_push_front.html index 3436b72..11f1e55 100644 --- a/doc/ref/seq_push_front.html +++ b/doc/ref/seq_push_front.html @@ -63,5 +63,15 @@ BOOST_PP_SEQ_PUSH_FRONT(SEQ, a) // expands to (a)(b)(c) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_remove.html b/doc/ref/seq_remove.html index 543fdfd..c40573e 100644 --- a/doc/ref/seq_remove.html +++ b/doc/ref/seq_remove.html @@ -51,5 +51,15 @@ BOOST_PP_SEQ_REMOVE(SEQ, 2) // expands to (a)(b)(c) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_replace.html b/doc/ref/seq_replace.html index 4416daa..7d9db1c 100644 --- a/doc/ref/seq_replace.html +++ b/doc/ref/seq_replace.html @@ -56,5 +56,15 @@ BOOST_PP_SEQ_REPLACE(SEQ, 2, c) // expands to (a)(b)(c)(d) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_rest_n.html b/doc/ref/seq_rest_n.html index c2bdcb8..960caa3 100644 --- a/doc/ref/seq_rest_n.html +++ b/doc/ref/seq_rest_n.html @@ -105,5 +105,15 @@ SUPER_ADD(100, 100) // expands to 200 SUPER_SUB(67, 25) // expands to 42 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_reverse.html b/doc/ref/seq_reverse.html index 9f29916..7a83162 100644 --- a/doc/ref/seq_reverse.html +++ b/doc/ref/seq_reverse.html @@ -53,5 +53,15 @@ BOOST_PP_SEQ_REVERSE(SEQ) // expands to (3)(2)(1) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_reverse_s.html b/doc/ref/seq_reverse_s.html index 2b8e727..3a6dcdf 100644 --- a/doc/ref/seq_reverse_s.html +++ b/doc/ref/seq_reverse_s.html @@ -40,5 +40,15 @@
    Header:  <boost/preprocessor/seq/reverse.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_size.html b/doc/ref/seq_size.html index 0116686..fef7794 100644 --- a/doc/ref/seq_size.html +++ b/doc/ref/seq_size.html @@ -40,5 +40,15 @@ BOOST_PP_SEQ_SIZE(SEQ) // expands to 3 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_subseq.html b/doc/ref/seq_subseq.html index 326faa4..1d6a4a4 100644 --- a/doc/ref/seq_subseq.html +++ b/doc/ref/seq_subseq.html @@ -54,5 +54,15 @@ BOOST_PP_SEQ_SUBSEQ(SEQ, 2, 3) // expands to (2)(3)(4) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_tail.html b/doc/ref/seq_tail.html index ffde53a..708288e 100644 --- a/doc/ref/seq_tail.html +++ b/doc/ref/seq_tail.html @@ -48,5 +48,15 @@ BOOST_PP_SEQ_TAIL(SEQ) // expands to (b)(c) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_to_array.html b/doc/ref/seq_to_array.html index 5b60077..45d7e2a 100644 --- a/doc/ref/seq_to_array.html +++ b/doc/ref/seq_to_array.html @@ -40,5 +40,15 @@ BOOST_PP_SEQ_TO_ARRAY(SEQ) // expands to (3, (a, b, c)) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_to_tuple.html b/doc/ref/seq_to_tuple.html index 8e1c43b..45503ae 100644 --- a/doc/ref/seq_to_tuple.html +++ b/doc/ref/seq_to_tuple.html @@ -40,5 +40,15 @@ BOOST_PP_SEQ_TO_TUPLE(SEQ) // expands to (a, b, c) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_transform.html b/doc/ref/seq_transform.html index a7a2b6c..a1df9d0 100644 --- a/doc/ref/seq_transform.html +++ b/doc/ref/seq_transform.html @@ -78,5 +78,15 @@ // expands to (0)(2)(1)(4) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/seq_transform_s.html b/doc/ref/seq_transform_s.html index a402e13..2b6fcf1 100644 --- a/doc/ref/seq_transform_s.html +++ b/doc/ref/seq_transform_s.html @@ -64,5 +64,15 @@
    Header:  <boost/preprocessor/seq/transform.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/slot.html b/doc/ref/slot.html index 0884a7d..6bc64ed 100644 --- a/doc/ref/slot.html +++ b/doc/ref/slot.html @@ -45,5 +45,15 @@ BOOST_PP_SLOT(1) // expands to 10 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/stringize.html b/doc/ref/stringize.html index 2bf0e3e..66e341a 100644 --- a/doc/ref/stringize.html +++ b/doc/ref/stringize.html @@ -35,5 +35,15 @@ BOOST_PP_STRINGIZE(BOOST_PP_CAT(a, b)) // expands to "ab" +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/sub.html b/doc/ref/sub.html index ea27d00..49ee384 100644 --- a/doc/ref/sub.html +++ b/doc/ref/sub.html @@ -48,5 +48,15 @@ BOOST_PP_SUB(4, 3) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/sub_d.html b/doc/ref/sub_d.html index abb0a9e..34fe10a 100644 --- a/doc/ref/sub_d.html +++ b/doc/ref/sub_d.html @@ -70,5 +70,15 @@ STRIDE(10, 2) // expands to 6 STRIDE(14, 6) // expands to 2 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/tuple_eat.html b/doc/ref/tuple_eat.html index 0235108..89462a4 100644 --- a/doc/ref/tuple_eat.html +++ b/doc/ref/tuple_eat.html @@ -43,5 +43,15 @@ MACRO(0) // expands to nothing MACRO(1) // expands to (1, 2) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/tuple_elem.html b/doc/ref/tuple_elem.html index d63d949e..1cf5474 100644 --- a/doc/ref/tuple_elem.html +++ b/doc/ref/tuple_elem.html @@ -50,5 +50,15 @@ BOOST_PP_TUPLE_ELEM(4, 0, TUPLE) // expands to a BOOST_PP_TUPLE_ELEM(4, 3, TUPLE) // expands to d +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/tuple_rem.html b/doc/ref/tuple_rem.html index 8cd108f..8251b8b 100644 --- a/doc/ref/tuple_rem.html +++ b/doc/ref/tuple_rem.html @@ -37,5 +37,15 @@ BOOST_PP_TUPLE_REM(3)(x, y, z) // expands to x, y, z +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/tuple_rem_ctor.html b/doc/ref/tuple_rem_ctor.html index 37d5262..66b996c 100644 --- a/doc/ref/tuple_rem_ctor.html +++ b/doc/ref/tuple_rem_ctor.html @@ -41,5 +41,15 @@ BOOST_PP_TUPLE_REM_CTOR(3, (x, y, z)) // expands to x, y, z +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/tuple_reverse.html b/doc/ref/tuple_reverse.html index 8220254..47e6b43 100644 --- a/doc/ref/tuple_reverse.html +++ b/doc/ref/tuple_reverse.html @@ -41,5 +41,15 @@ BOOST_PP_TUPLE_REVERSE(3, (x, y, z)) // expands to (z, y, x) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/tuple_to_list.html b/doc/ref/tuple_to_list.html index 70f032a..ecc1fe2 100644 --- a/doc/ref/tuple_to_list.html +++ b/doc/ref/tuple_to_list.html @@ -42,5 +42,15 @@ BOOST_PP_TUPLE_TO_LIST(3, (x, y, z)) // expands to (x, (y, (z, BOOST_PP_NIL))) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/tuple_to_seq.html b/doc/ref/tuple_to_seq.html index cb52d0e..970bf3a 100644 --- a/doc/ref/tuple_to_seq.html +++ b/doc/ref/tuple_to_seq.html @@ -42,5 +42,15 @@ BOOST_PP_TUPLE_TO_SEQ(3, (a, b, c)) // expands to (a)(b)(c) +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/update_counter.html b/doc/ref/update_counter.html index b6878f4..f7fbca9 100644 --- a/doc/ref/update_counter.html +++ b/doc/ref/update_counter.html @@ -19,5 +19,15 @@
    Header:  <boost/preprocessor/slot/counter.hpp>
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/value.html b/doc/ref/value.html index df87afa..7fd355d 100644 --- a/doc/ref/value.html +++ b/doc/ref/value.html @@ -22,5 +22,15 @@ +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/while.html b/doc/ref/while.html index aca3075..75341a6 100644 --- a/doc/ref/while.html +++ b/doc/ref/while.html @@ -101,5 +101,15 @@ SUMMATION(3) // expands to 6 SUMMATION(4) // expands to 10 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/while_d.html b/doc/ref/while_d.html index 5468d0c..306cd09 100644 --- a/doc/ref/while_d.html +++ b/doc/ref/while_d.html @@ -114,5 +114,15 @@ ACCUMULATE_D(1, ARRAY)// expands to 10 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/wstringize.html b/doc/ref/wstringize.html index fceae13..eade6f2 100644 --- a/doc/ref/wstringize.html +++ b/doc/ref/wstringize.html @@ -34,5 +34,15 @@ BOOST_PP_WSTRINGIZE(some text) // expands to L"some text" +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/ref/xor.html b/doc/ref/xor.html index 6d44908..b634958 100644 --- a/doc/ref/xor.html +++ b/doc/ref/xor.html @@ -49,5 +49,15 @@ BOOST_PP_XOR(4, 3) // expands to 0 BOOST_PP_XOR(5, 0) // expands to 1 +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/styles.css b/doc/styles.css index 47d780e..c2418d8 100644 --- a/doc/styles.css +++ b/doc/styles.css @@ -77,3 +77,10 @@ ul { margin-top: 10px; margin-bottom: 10px; margin-left: 20px; padding-left: 17px; } + +/* +© Copyright Housemarque Oy 2002 +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) +*/ diff --git a/doc/syntax.html b/doc/syntax.html index 60df4a5..d36aca5 100644 --- a/doc/syntax.html +++ b/doc/syntax.html @@ -278,5 +278,13 @@
    BOOST_PP_XOR + + + diff --git a/doc/terms.html b/doc/terms.html index d5e6f79..92376e3 100644 --- a/doc/terms.html +++ b/doc/terms.html @@ -10,5 +10,13 @@
  • evaluated parameter
  • named external argument
  • + + + diff --git a/doc/terms/evaluated.html b/doc/terms/evaluated.html index 11507c3..a6c6baf 100644 --- a/doc/terms/evaluated.html +++ b/doc/terms/evaluated.html @@ -12,5 +12,15 @@ In other words, if the value is dependent on some macro, it will no longer be dependent on that macro after it is evaluated.  This disables the lazy-evaluation that the preprocessor normallly uses. +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/terms/named_external.html b/doc/terms/named_external.html index e1faf39..4d83636 100644 --- a/doc/terms/named_external.html +++ b/doc/terms/named_external.html @@ -10,5 +10,15 @@ There is no way to pass arguments to a file directly, so they must be passed to files in the form of macros with known names that are defined by the user.  Every time that the library uses this idiom, the file that is included automatically undefines the macro in order to better simulate normal parameters. +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/title.html b/doc/title.html index f0408d9..6de62d9 100644 --- a/doc/title.html +++ b/doc/title.html @@ -9,5 +9,13 @@ An excerpt from C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond by Dave Abrahams and Aleksey Gurtovoy has been made available online. This excerpt contains a basic introduction to the Preprocessor library and preprocessor metaprogramming which may help users new to the library and users interested in seeing some of the facilities offered by the library. + + + diff --git a/doc/top.html b/doc/top.html index c1afe97..4f89e89 100644 --- a/doc/top.html +++ b/doc/top.html @@ -19,5 +19,13 @@ + + + diff --git a/doc/topics.html b/doc/topics.html index 76b938c..1cd885b 100644 --- a/doc/topics.html +++ b/doc/topics.html @@ -16,5 +16,13 @@
  • file iteration
  • evaluated slots
  • + + + diff --git a/doc/topics/evaluated_slots.html b/doc/topics/evaluated_slots.html index e0879b3..86a0ab8 100644 --- a/doc/topics/evaluated_slots.html +++ b/doc/topics/evaluated_slots.html @@ -142,5 +142,15 @@ BOOST_PP_SLOT(1) // 40
  • BOOST_PP_VALUE
  • - Paul Mensonides
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/topics/file_iteration.html b/doc/topics/file_iteration.html index a9189c3..a2736d3 100644 --- a/doc/topics/file_iteration.html +++ b/doc/topics/file_iteration.html @@ -1029,5 +1029,15 @@ template<class T> struct function_traits<T&> : function_traits&l
    - Paul Mensonides
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/topics/incompatible.html b/doc/topics/incompatible.html index f1f76a0..362ebc7 100644 --- a/doc/topics/incompatible.html +++ b/doc/topics/incompatible.html @@ -125,5 +125,15 @@
  • BOOST_PP_WHILE
  • - Paul Mensonides
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/topics/local_iteration.html b/doc/topics/local_iteration.html index bab3c74..82732a5 100644 --- a/doc/topics/local_iteration.html +++ b/doc/topics/local_iteration.html @@ -141,5 +141,15 @@ template<> struct sample<10> { };
  • BOOST_PP_LOCAL_MACRO
  • - Paul Mensonides
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    \ No newline at end of file diff --git a/doc/topics/motivation.html b/doc/topics/motivation.html index c9a14ae..bb9b259 100644 --- a/doc/topics/motivation.html +++ b/doc/topics/motivation.html @@ -104,5 +104,15 @@ BOOST_PP_REPEAT(BOOST_PP_INC(MAX_IS_FUNCTION_TESTER_PARAMS), IS_FUNCTION_TESTER, Permission to copy, use, modify, sell and distribute this document is granted provided this copyright notice appears in all copies.  This document is provided "as is" without express or implied warranty and with no claim as to its suitability for any purpose. +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/topics/problems.html b/doc/topics/problems.html index cf5d53c..52f354b 100644 --- a/doc/topics/problems.html +++ b/doc/topics/problems.html @@ -120,5 +120,15 @@ Permission to copy, use, modify, sell and distribute this document is granted provided this copyright notice appears in all copies.  This document is provided "as is" without express or implied warranty and with no claim as to its suitability for any purpose. +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/topics/reentrancy.html b/doc/topics/reentrancy.html index 53c0e89..6995bb4 100644 --- a/doc/topics/reentrancy.html +++ b/doc/topics/reentrancy.html @@ -283,5 +283,15 @@ MUL(3, 2) // expands to 6
    - Paul Mensonides
    +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/doc/topics/techniques.html b/doc/topics/techniques.html index 895aa07..719afd7 100644 --- a/doc/topics/techniques.html +++ b/doc/topics/techniques.html @@ -335,5 +335,15 @@ SPECIAL_NUMBERED_LIST(3, 3, E, S) Permission to copy, use, modify, sell and distribute this document is granted provided this copyright notice appears in all copies.  This document is provided "as is" without express or implied warranty and with no claim as to its suitability for any purpose. +
    +
    + © Copyright Housemarque Oy 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    diff --git a/index.html b/index.html index dff3b20..bc2d576 100644 --- a/index.html +++ b/index.html @@ -5,5 +5,13 @@ Automatic redirection failed, please go to doc/index.html. + + + \ No newline at end of file From 36885cddaeb470137ada90e2e077e39fbaf3b1f3 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Mon, 24 Jul 2006 04:08:25 +0000 Subject: [PATCH 03/21] After asking Paul... add his copyright to the docs. [SVN r34691] --- doc/acknowledgements.html | 1 + doc/bibliography.html | 1 + doc/contents.html | 1 + doc/data.html | 1 + doc/data/arrays.html | 1 + doc/data/lists.html | 1 + doc/data/sequences.html | 1 + doc/data/tuples.html | 1 + doc/examples.html | 1 + doc/headers.html | 1 + doc/headers/arithmetic.html | 1 + doc/headers/arithmetic/add.html | 1 + doc/headers/arithmetic/dec.html | 1 + doc/headers/arithmetic/div.html | 1 + doc/headers/arithmetic/inc.html | 1 + doc/headers/arithmetic/mod.html | 1 + doc/headers/arithmetic/mul.html | 1 + doc/headers/arithmetic/sub.html | 1 + doc/headers/array.html | 1 + doc/headers/array/data.html | 1 + doc/headers/array/elem.html | 1 + doc/headers/array/insert.html | 1 + doc/headers/array/pop_back.html | 1 + doc/headers/array/pop_front.html | 1 + doc/headers/array/push_back.html | 1 + doc/headers/array/push_front.html | 1 + doc/headers/array/remove.html | 1 + doc/headers/array/replace.html | 1 + doc/headers/array/reverse.html | 1 + doc/headers/array/size.html | 1 + doc/headers/assert_msg.html | 1 + doc/headers/cat.html | 1 + doc/headers/comma.html | 1 + doc/headers/comma_if.html | 1 + doc/headers/comparison.html | 1 + doc/headers/comparison/equal.html | 1 + doc/headers/comparison/greater.html | 1 + doc/headers/comparison/greater_equal.html | 1 + doc/headers/comparison/less.html | 1 + doc/headers/comparison/less_equal.html | 1 + doc/headers/comparison/not_equal.html | 1 + doc/headers/config/limits.html | 1 + doc/headers/control.html | 1 + doc/headers/control/deduce_d.html | 1 + doc/headers/control/expr_if.html | 1 + doc/headers/control/expr_iif.html | 1 + doc/headers/control/if.html | 1 + doc/headers/control/iif.html | 1 + doc/headers/control/while.html | 1 + doc/headers/debug.html | 1 + doc/headers/debug/assert.html | 1 + doc/headers/debug/line.html | 1 + doc/headers/dec.html | 1 + doc/headers/empty.html | 1 + doc/headers/enum.html | 1 + doc/headers/enum_params.html | 1 + doc/headers/enum_shifted.html | 1 + doc/headers/enum_shifted_params.html | 1 + doc/headers/epwad.html | 1 + doc/headers/epwd.html | 1 + doc/headers/expand.html | 1 + doc/headers/expr_if.html | 1 + doc/headers/facilities.html | 1 + doc/headers/facilities/apply.html | 1 + doc/headers/facilities/empty.html | 1 + doc/headers/facilities/expand.html | 1 + doc/headers/facilities/identity.html | 1 + doc/headers/facilities/intercept.html | 1 + doc/headers/for.html | 1 + doc/headers/identity.html | 1 + doc/headers/if.html | 1 + doc/headers/inc.html | 1 + doc/headers/iterate.html | 1 + doc/headers/iteration.html | 1 + doc/headers/iteration/iterate.html | 1 + doc/headers/iteration/local.html | 1 + doc/headers/iteration/self.html | 1 + doc/headers/library.html | 1 + doc/headers/limits.html | 1 + doc/headers/list.html | 1 + doc/headers/list/adt.html | 1 + doc/headers/list/append.html | 1 + doc/headers/list/at.html | 1 + doc/headers/list/cat.html | 1 + doc/headers/list/enum.html | 1 + doc/headers/list/filter.html | 1 + doc/headers/list/first_n.html | 1 + doc/headers/list/fold_left.html | 1 + doc/headers/list/fold_right.html | 1 + doc/headers/list/for_each.html | 1 + doc/headers/list/for_each_i.html | 1 + doc/headers/list/for_each_product.html | 1 + doc/headers/list/rest_n.html | 1 + doc/headers/list/reverse.html | 1 + doc/headers/list/size.html | 1 + doc/headers/list/to_tuple.html | 1 + doc/headers/list/transform.html | 1 + doc/headers/logical.html | 1 + doc/headers/logical/and.html | 1 + doc/headers/logical/bitand.html | 1 + doc/headers/logical/bitnor.html | 1 + doc/headers/logical/bitor.html | 1 + doc/headers/logical/bitxor.html | 1 + doc/headers/logical/bool.html | 1 + doc/headers/logical/compl.html | 1 + doc/headers/logical/nor.html | 1 + doc/headers/logical/not.html | 1 + doc/headers/logical/or.html | 1 + doc/headers/logical/xor.html | 1 + doc/headers/max.html | 1 + doc/headers/min.html | 1 + doc/headers/preprocessor.html | 1 + doc/headers/punctuation.html | 1 + doc/headers/punctuation/comma.html | 1 + doc/headers/punctuation/comma_if.html | 1 + doc/headers/punctuation/paren.html | 1 + doc/headers/punctuation/paren_if.html | 1 + doc/headers/repeat.html | 1 + doc/headers/repeat_2nd.html | 1 + doc/headers/repeat_3rd.html | 1 + doc/headers/repeat_from_to.html | 1 + doc/headers/repeat_from_to_2nd.html | 1 + doc/headers/repeat_from_to_3rd.html | 1 + doc/headers/repetition.html | 1 + doc/headers/repetition/deduce_r.html | 1 + doc/headers/repetition/deduce_z.html | 1 + doc/headers/repetition/enum.html | 1 + doc/headers/repetition/enum_binary_params.html | 1 + doc/headers/repetition/enum_params.html | 1 + doc/headers/repetition/enum_shifted.html | 1 + doc/headers/repetition/enum_shifted_params.html | 1 + doc/headers/repetition/enum_trailing.html | 1 + doc/headers/repetition/enum_trailing_params.html | 1 + doc/headers/repetition/epwad.html | 1 + doc/headers/repetition/epwd.html | 1 + doc/headers/repetition/esbp.html | 1 + doc/headers/repetition/etbp.html | 1 + doc/headers/repetition/for.html | 1 + doc/headers/repetition/repeat.html | 1 + doc/headers/repetition/repeat_from_to.html | 1 + doc/headers/selection.html | 1 + doc/headers/selection/max.html | 1 + doc/headers/selection/min.html | 1 + doc/headers/seq.html | 1 + doc/headers/seq/cat.html | 1 + doc/headers/seq/elem.html | 1 + doc/headers/seq/enum.html | 1 + doc/headers/seq/filter.html | 1 + doc/headers/seq/first_n.html | 1 + doc/headers/seq/fold_left.html | 1 + doc/headers/seq/fold_right.html | 1 + doc/headers/seq/for_each.html | 1 + doc/headers/seq/for_each_i.html | 1 + doc/headers/seq/for_each_product.html | 1 + doc/headers/seq/insert.html | 1 + doc/headers/seq/pop_back.html | 1 + doc/headers/seq/pop_front.html | 1 + doc/headers/seq/push_back.html | 1 + doc/headers/seq/push_front.html | 1 + doc/headers/seq/remove.html | 1 + doc/headers/seq/replace.html | 1 + doc/headers/seq/rest_n.html | 1 + doc/headers/seq/reverse.html | 1 + doc/headers/seq/seq.html | 1 + doc/headers/seq/size.html | 1 + doc/headers/seq/subseq.html | 1 + doc/headers/seq/to_array.html | 1 + doc/headers/seq/to_tuple.html | 1 + doc/headers/seq/transform.html | 1 + doc/headers/slot.html | 1 + doc/headers/slot/counter.html | 1 + doc/headers/slot/slot.html | 1 + doc/headers/stringize.html | 1 + doc/headers/tuple.html | 1 + doc/headers/tuple/eat.html | 1 + doc/headers/tuple/elem.html | 1 + doc/headers/tuple/rem.html | 1 + doc/headers/tuple/reverse.html | 1 + doc/headers/tuple/to_list.html | 1 + doc/headers/tuple/to_seq.html | 1 + doc/headers/while.html | 1 + doc/headers/wstringize.html | 1 + doc/index.html | 1 + doc/miscellanea.html | 1 + doc/ref.html | 1 + doc/ref/add.html | 1 + doc/ref/add_d.html | 1 + doc/ref/and.html | 1 + doc/ref/apply.html | 1 + doc/ref/array_data.html | 1 + doc/ref/array_elem.html | 1 + doc/ref/array_insert.html | 1 + doc/ref/array_insert_d.html | 1 + doc/ref/array_pop_back.html | 1 + doc/ref/array_pop_back_z.html | 1 + doc/ref/array_pop_front.html | 1 + doc/ref/array_pop_front_z.html | 1 + doc/ref/array_push_back.html | 1 + doc/ref/array_push_front.html | 1 + doc/ref/array_remove.html | 1 + doc/ref/array_remove_d.html | 1 + doc/ref/array_replace.html | 1 + doc/ref/array_replace_d.html | 1 + doc/ref/array_reverse.html | 1 + doc/ref/array_size.html | 1 + doc/ref/assert.html | 1 + doc/ref/assert_msg.html | 1 + doc/ref/assign_slot.html | 1 + doc/ref/bitand.html | 1 + doc/ref/bitnor.html | 1 + doc/ref/bitor.html | 1 + doc/ref/bitxor.html | 1 + doc/ref/bool.html | 1 + doc/ref/cat.html | 1 + doc/ref/comma.html | 1 + doc/ref/comma_if.html | 1 + doc/ref/compl.html | 1 + doc/ref/config_extended_line_info.html | 1 + doc/ref/counter.html | 1 + doc/ref/dec.html | 1 + doc/ref/deduce_d.html | 1 + doc/ref/deduce_r.html | 1 + doc/ref/deduce_z.html | 1 + doc/ref/div.html | 1 + doc/ref/div_d.html | 1 + doc/ref/empty.html | 1 + doc/ref/enum.html | 1 + doc/ref/enum_binary_params.html | 1 + doc/ref/enum_binary_params_z.html | 1 + doc/ref/enum_params.html | 1 + doc/ref/enum_params_with_a_default.html | 1 + doc/ref/enum_params_with_defaults.html | 1 + doc/ref/enum_params_z.html | 1 + doc/ref/enum_shifted.html | 1 + doc/ref/enum_shifted_params.html | 1 + doc/ref/enum_shifted_params_z.html | 1 + doc/ref/enum_shifted_z.html | 1 + doc/ref/enum_trailing.html | 1 + doc/ref/enum_trailing_params.html | 1 + doc/ref/enum_trailing_params_z.html | 1 + doc/ref/enum_trailing_z.html | 1 + doc/ref/enum_z.html | 1 + doc/ref/equal.html | 1 + doc/ref/equal_d.html | 1 + doc/ref/esbp.html | 1 + doc/ref/esbpz.html | 1 + doc/ref/etbp.html | 1 + doc/ref/etbpz.html | 1 + doc/ref/expand.html | 1 + doc/ref/expr_if.html | 1 + doc/ref/expr_iif.html | 1 + doc/ref/filename_x.html | 1 + doc/ref/for.html | 1 + doc/ref/for_r.html | 1 + doc/ref/frame_finish.html | 1 + doc/ref/frame_flags.html | 1 + doc/ref/frame_iteration.html | 1 + doc/ref/frame_start.html | 1 + doc/ref/greater.html | 1 + doc/ref/greater_d.html | 1 + doc/ref/greater_equal.html | 1 + doc/ref/greater_equal_d.html | 1 + doc/ref/identity.html | 1 + doc/ref/if.html | 1 + doc/ref/iif.html | 1 + doc/ref/inc.html | 1 + doc/ref/include_self.html | 1 + doc/ref/indirect_self.html | 1 + doc/ref/intercept.html | 1 + doc/ref/is_iterating.html | 1 + doc/ref/is_selfish.html | 1 + doc/ref/iterate.html | 1 + doc/ref/iteration.html | 1 + doc/ref/iteration_depth.html | 1 + doc/ref/iteration_finish.html | 1 + doc/ref/iteration_flags.html | 1 + doc/ref/iteration_limits.html | 1 + doc/ref/iteration_params_x.html | 1 + doc/ref/iteration_start.html | 1 + doc/ref/less.html | 1 + doc/ref/less_d.html | 1 + doc/ref/less_equal.html | 1 + doc/ref/less_equal_d.html | 1 + doc/ref/limit_dim.html | 1 + doc/ref/limit_for.html | 1 + doc/ref/limit_iteration.html | 1 + doc/ref/limit_iteration_dim.html | 1 + doc/ref/limit_mag.html | 1 + doc/ref/limit_repeat.html | 1 + doc/ref/limit_seq.html | 1 + doc/ref/limit_slot_count.html | 1 + doc/ref/limit_slot_sig.html | 1 + doc/ref/limit_tuple.html | 1 + doc/ref/limit_while.html | 1 + doc/ref/line.html | 1 + doc/ref/list_append.html | 1 + doc/ref/list_append_d.html | 1 + doc/ref/list_at.html | 1 + doc/ref/list_at_d.html | 1 + doc/ref/list_cat.html | 1 + doc/ref/list_cat_d.html | 1 + doc/ref/list_cons.html | 1 + doc/ref/list_enum.html | 1 + doc/ref/list_enum_r.html | 1 + doc/ref/list_filter.html | 1 + doc/ref/list_filter_d.html | 1 + doc/ref/list_first.html | 1 + doc/ref/list_first_n.html | 1 + doc/ref/list_first_n_d.html | 1 + doc/ref/list_fold_left.html | 1 + doc/ref/list_fold_left_2nd.html | 1 + doc/ref/list_fold_left_2nd_d.html | 1 + doc/ref/list_fold_left_d.html | 1 + doc/ref/list_fold_left_d_old.html | 1 + doc/ref/list_fold_right.html | 1 + doc/ref/list_fold_right_2nd.html | 1 + doc/ref/list_fold_right_2nd_d.html | 1 + doc/ref/list_fold_right_d.html | 1 + doc/ref/list_fold_right_d_old.html | 1 + doc/ref/list_for_each.html | 1 + doc/ref/list_for_each_i.html | 1 + doc/ref/list_for_each_i_r.html | 1 + doc/ref/list_for_each_product.html | 1 + doc/ref/list_for_each_product_r.html | 1 + doc/ref/list_for_each_r.html | 1 + doc/ref/list_is_cons.html | 1 + doc/ref/list_is_nil.html | 1 + doc/ref/list_nil.html | 1 + doc/ref/list_rest.html | 1 + doc/ref/list_rest_n.html | 1 + doc/ref/list_rest_n_d.html | 1 + doc/ref/list_reverse.html | 1 + doc/ref/list_reverse_d.html | 1 + doc/ref/list_size.html | 1 + doc/ref/list_size_d.html | 1 + doc/ref/list_to_tuple.html | 1 + doc/ref/list_to_tuple_r.html | 1 + doc/ref/list_transform.html | 1 + doc/ref/list_transform_d.html | 1 + doc/ref/local_iterate.html | 1 + doc/ref/local_limits.html | 1 + doc/ref/local_macro.html | 1 + doc/ref/lparen.html | 1 + doc/ref/lparen_if.html | 1 + doc/ref/max.html | 1 + doc/ref/max_d.html | 1 + doc/ref/min.html | 1 + doc/ref/min_d.html | 1 + doc/ref/mod.html | 1 + doc/ref/mod_d.html | 1 + doc/ref/mul.html | 1 + doc/ref/mul_d.html | 1 + doc/ref/nil.html | 1 + doc/ref/nor.html | 1 + doc/ref/not.html | 1 + doc/ref/not_equal.html | 1 + doc/ref/not_equal_d.html | 1 + doc/ref/or.html | 1 + doc/ref/relative_finish.html | 1 + doc/ref/relative_flags.html | 1 + doc/ref/relative_iteration.html | 1 + doc/ref/relative_start.html | 1 + doc/ref/repeat.html | 1 + doc/ref/repeat_1st.html | 1 + doc/ref/repeat_2nd.html | 1 + doc/ref/repeat_3rd.html | 1 + doc/ref/repeat_from_to.html | 1 + doc/ref/repeat_from_to_1st.html | 1 + doc/ref/repeat_from_to_2nd.html | 1 + doc/ref/repeat_from_to_3rd.html | 1 + doc/ref/repeat_from_to_d.html | 1 + doc/ref/repeat_from_to_d_z.html | 1 + doc/ref/repeat_from_to_z.html | 1 + doc/ref/repeat_z.html | 1 + doc/ref/rparen.html | 1 + doc/ref/rparen_if.html | 1 + doc/ref/seq_cat.html | 1 + doc/ref/seq_cat_s.html | 1 + doc/ref/seq_elem.html | 1 + doc/ref/seq_enum.html | 1 + doc/ref/seq_filter.html | 1 + doc/ref/seq_filter_s.html | 1 + doc/ref/seq_first_n.html | 1 + doc/ref/seq_fold_left.html | 1 + doc/ref/seq_fold_left_s.html | 1 + doc/ref/seq_fold_right.html | 1 + doc/ref/seq_fold_right_s.html | 1 + doc/ref/seq_for_each.html | 1 + doc/ref/seq_for_each_i.html | 1 + doc/ref/seq_for_each_i_r.html | 1 + doc/ref/seq_for_each_product.html | 1 + doc/ref/seq_for_each_product_r.html | 1 + doc/ref/seq_for_each_r.html | 1 + doc/ref/seq_head.html | 1 + doc/ref/seq_insert.html | 1 + doc/ref/seq_nil.html | 1 + doc/ref/seq_pop_back.html | 1 + doc/ref/seq_pop_front.html | 1 + doc/ref/seq_push_back.html | 1 + doc/ref/seq_push_front.html | 1 + doc/ref/seq_remove.html | 1 + doc/ref/seq_replace.html | 1 + doc/ref/seq_rest_n.html | 1 + doc/ref/seq_reverse.html | 1 + doc/ref/seq_reverse_s.html | 1 + doc/ref/seq_size.html | 1 + doc/ref/seq_subseq.html | 1 + doc/ref/seq_tail.html | 1 + doc/ref/seq_to_array.html | 1 + doc/ref/seq_to_tuple.html | 1 + doc/ref/seq_transform.html | 1 + doc/ref/seq_transform_s.html | 1 + doc/ref/slot.html | 1 + doc/ref/stringize.html | 1 + doc/ref/sub.html | 1 + doc/ref/sub_d.html | 1 + doc/ref/tuple_eat.html | 1 + doc/ref/tuple_elem.html | 1 + doc/ref/tuple_rem.html | 1 + doc/ref/tuple_rem_ctor.html | 1 + doc/ref/tuple_reverse.html | 1 + doc/ref/tuple_to_list.html | 1 + doc/ref/tuple_to_seq.html | 1 + doc/ref/update_counter.html | 1 + doc/ref/value.html | 1 + doc/ref/while.html | 1 + doc/ref/while_d.html | 1 + doc/ref/wstringize.html | 1 + doc/ref/xor.html | 1 + doc/styles.css | 1 + doc/syntax.html | 1 + doc/terms.html | 1 + doc/terms/evaluated.html | 1 + doc/terms/named_external.html | 1 + doc/title.html | 1 + doc/top.html | 1 + doc/topics.html | 1 + doc/topics/evaluated_slots.html | 1 + doc/topics/file_iteration.html | 1 + doc/topics/incompatible.html | 1 + doc/topics/local_iteration.html | 1 + doc/topics/motivation.html | 1 + doc/topics/problems.html | 1 + doc/topics/reentrancy.html | 1 + doc/topics/techniques.html | 1 + index.html | 1 + 446 files changed, 446 insertions(+) diff --git a/doc/acknowledgements.html b/doc/acknowledgements.html index 7fa7960..caa3583 100644 --- a/doc/acknowledgements.html +++ b/doc/acknowledgements.html @@ -46,6 +46,7 @@
    © Copyright Housemarque Oy 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/bibliography.html b/doc/bibliography.html index e6d0d0a..512e2f4 100644 --- a/doc/bibliography.html +++ b/doc/bibliography.html @@ -46,6 +46,7 @@


    © Copyright Housemarque Oy 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/contents.html b/doc/contents.html index 613f646..18008a4 100644 --- a/doc/contents.html +++ b/doc/contents.html @@ -19,6 +19,7 @@ - - + diff --git a/doc/headers/array.html b/doc/headers/array.html index fe8a33e..a6d51f4 100644 --- a/doc/headers/array.html +++ b/doc/headers/array.html @@ -1,10 +1,10 @@ - array.hpp + array.hpp -

    +
    The array.hpp includes the headers in the array folder.

    Usage

    @@ -15,6 +15,7 @@
    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    diff --git a/doc/headers/array/enum.html b/doc/headers/array/enum.html new file mode 100644 index 0000000..5756a1b --- /dev/null +++ b/doc/headers/array/enum.html @@ -0,0 +1,24 @@ + + + array/enum.hpp + + + +
    The array/enum.hpp header +defines a macro to convert an array to its comma-separated elements.
    +

    Usage

    +
    #include <boost/preprocessor/array/enum.hpp> +
    +

    Contents

    + +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/headers/array/to_list.html b/doc/headers/array/to_list.html new file mode 100644 index 0000000..732cd0e --- /dev/null +++ b/doc/headers/array/to_list.html @@ -0,0 +1,24 @@ + + + array/to_list.hpp + + + +
    The array/to_list.hpp header +defines a macro that converts an array to a list.
    +

    Usage

    +
    #include <boost/preprocessor/array/to_list.hpp> +
    +

    Contents

    + +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/headers/array/to_seq.html b/doc/headers/array/to_seq.html new file mode 100644 index 0000000..b3ee7ee --- /dev/null +++ b/doc/headers/array/to_seq.html @@ -0,0 +1,24 @@ + + + array/to_seq.hpp + + + +
    The array/to_seq.hpp header +defines a macro that converts an array to a seq.
    +

    Usage

    +
    #include <boost/preprocessor/array/to_seq.hpp> +
    +

    Contents

    + +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/headers/array/to_tuple.html b/doc/headers/array/to_tuple.html new file mode 100644 index 0000000..e903a68 --- /dev/null +++ b/doc/headers/array/to_tuple.html @@ -0,0 +1,24 @@ + + + array/to_tuple.hpp + + + +
    The array/to_tuple.hpp header +defines a macro that converts an array to a tuple.
    +

    Usage

    +
    #include <boost/preprocessor/array/to_tuple.hpp> +
    +

    Contents

    + +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/headers/config/limits.html b/doc/headers/config/limits.html index 062d223..11fde7e 100644 --- a/doc/headers/config/limits.html +++ b/doc/headers/config/limits.html @@ -1,44 +1,44 @@ - - config/limits.hpp - - - -
    - The config/limits.hpp header defines various library limits. -
    -

    - Usage -

    -
    - #include <boost/preprocessor/config/limits.hpp> -
    -

    - Contents -

    - + + config/limits.hpp + + + +
    + The config/limits.hpp header defines various library limits. +
    +

    + Usage +

    +
    + #include <boost/preprocessor/config/limits.hpp> +
    +

    + Contents +

    +
    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - + diff --git a/doc/headers/config/variadics.html b/doc/headers/config/variadics.html new file mode 100644 index 0000000..c992685 --- /dev/null +++ b/doc/headers/config/variadics.html @@ -0,0 +1,32 @@ + + + config/variadics.hpp + + + +
    + The config/variadics.hpp +header defines a macro for determining variadic macro support. The file +is automatically included when needed internally. The end-user can +include it also in order to use the macro.
    +

    + Usage +

    +
    + #include <boost/preprocessor/config/variadics.hpp> +
    +

    + Contents +

    + +
    +
    © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/headers/facilities.html b/doc/headers/facilities.html index 2b1ad7d..ce1cddf 100644 --- a/doc/headers/facilities.html +++ b/doc/headers/facilities.html @@ -1,10 +1,10 @@ - facilities.hpp + facilities.hpp -
    +
    The facilities.hpp includes the headers in the facilities folder.

    Usage

    @@ -18,17 +18,17 @@
  • <boost/preprocessor/facilities/expand.hpp>
  • <boost/preprocessor/facilities/identity.hpp>
  • <boost/preprocessor/facilities/intercept.hpp>
  • +
  • <boost/preprocessor/facilities/overload.hpp> (v)

  • © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    diff --git a/doc/headers/facilities/overload.html b/doc/headers/facilities/overload.html new file mode 100644 index 0000000..643715d --- /dev/null +++ b/doc/headers/facilities/overload.html @@ -0,0 +1,28 @@ + + + facilities/overload.hpp + + + +
    + The facilities/overload.hpp header defines variadic macros that overload non-variadic macros to accept different numbers of parameters. +
    +

    Usage

    +
    + #include <boost/preprocessor/facilities/overload.hpp> +
    +

    Contents

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + \ No newline at end of file diff --git a/doc/headers/list.html b/doc/headers/list.html index 82980d9..cc4783a 100644 --- a/doc/headers/list.html +++ b/doc/headers/list.html @@ -1,10 +1,10 @@ - list.hpp + list.hpp -
    +
    The list.hpp includes the headers in the list folder.

    Usage

    @@ -28,19 +28,20 @@
  • <boost/preprocessor/list/rest_n.hpp>
  • <boost/preprocessor/list/reverse.hpp>
  • <boost/preprocessor/list/size.hpp>
  • +
  • <boost/preprocessor/list/to_array.hpp>
  • +
  • <boost/preprocessor/list/to_seq.hpp>
  • <boost/preprocessor/list/to_tuple.hpp>
  • <boost/preprocessor/list/transform.hpp>

  • © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    diff --git a/doc/headers/list/to_array.html b/doc/headers/list/to_array.html new file mode 100644 index 0000000..6910601 --- /dev/null +++ b/doc/headers/list/to_array.html @@ -0,0 +1,29 @@ + + + list/to_array.hpp + + + +
    + The list/to_array.hpp header defines a macro to convert a list to an array. +
    +

    Usage

    +
    + #include <boost/preprocessor/list/to_array.hpp> +
    +

    Contents

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/headers/list/to_seq.html b/doc/headers/list/to_seq.html new file mode 100644 index 0000000..c90de90 --- /dev/null +++ b/doc/headers/list/to_seq.html @@ -0,0 +1,25 @@ + + list/to_seq.hpp + +
    + The list/to_seq.hpp header defines a macro to convert a list to a seq. +
    +

    Usage

    +
    + #include <boost/preprocessor/list/to_seq.hpp> +
    +

    Contents

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + diff --git a/doc/headers/seq.html b/doc/headers/seq.html index 71f1d30..98f52e3 100644 --- a/doc/headers/seq.html +++ b/doc/headers/seq.html @@ -1,83 +1,84 @@ - - seq.hpp - - - -
    - The seq.hpp includes the headers in the seq folder. -
    -

    - Usage -

    -
    - #include <boost/preprocessor/seq.hpp> -
    -

    - Includes -

    - -
    + + seq.hpp + + +
    - © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 + The seq.hpp includes the headers in the seq folder.
    -
    -

    Distributed under the Boost Software License, Version 1.0. (See - accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    +

    + Usage +

    +
    + #include <boost/preprocessor/seq.hpp>
    - +

    + Includes +

    + +
    +
    + © Copyright Housemarque Oy 2002 +
    © Copyright Paul Mensonides 2002 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + diff --git a/doc/headers/seq/to_list.html b/doc/headers/seq/to_list.html new file mode 100644 index 0000000..bf70d57 --- /dev/null +++ b/doc/headers/seq/to_list.html @@ -0,0 +1,30 @@ + + seq/to_list.hpp + +
    + The seq/to_list.hpp header defines a macro that converts a seq to + a list. +
    +

    + Usage +

    +
    + #include <boost/preprocessor/seq/to_list.hpp> +
    +

    + Contents +

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + diff --git a/doc/headers/tuple.html b/doc/headers/tuple.html index d1552e6..55e9ade 100644 --- a/doc/headers/tuple.html +++ b/doc/headers/tuple.html @@ -1,34 +1,37 @@ - tuple.hpp + tuple.hpp -
    +
    The tuple.hpp includes the headers in the tuple folder.

    Usage

    #include <boost/preprocessor/tuple.hpp>
    -

    Includes

    - +

    Includes

    +
    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    diff --git a/doc/headers/tuple/eat.html b/doc/headers/tuple/eat.html index 82a76f7..70aa722 100644 --- a/doc/headers/tuple/eat.html +++ b/doc/headers/tuple/eat.html @@ -1,10 +1,6 @@ - - - tuple/eat.hpp - - - -
    +tuple/eat.hpp + +
    The tuple/eat.hpp header defines a macro eats a tuple.

    Usage

    @@ -13,18 +9,17 @@

    Contents


    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - - + diff --git a/doc/headers/tuple/elem.html b/doc/headers/tuple/elem.html index fc8df8b..f841642 100644 --- a/doc/headers/tuple/elem.html +++ b/doc/headers/tuple/elem.html @@ -1,10 +1,6 @@ - - - tuple/elem.hpp - - - -
    +tuple/elem.hpp + +
    The tuple/elem.hpp header defines a macro to extract elements from a tuple.

    Usage

    @@ -13,18 +9,17 @@

    Contents


    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - - + diff --git a/doc/headers/tuple/enum.html b/doc/headers/tuple/enum.html new file mode 100644 index 0000000..93003d6 --- /dev/null +++ b/doc/headers/tuple/enum.html @@ -0,0 +1,25 @@ + + tuple/enum.hpp + +
    + The tuple/enum.hpp header defines a macro to onvert a tuple to its comma-separated elements. +
    +

    Usage

    +
    + #include <boost/preprocessor/tuple/enum.hpp> +
    +

    Contents

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + diff --git a/doc/headers/tuple/rem.html b/doc/headers/tuple/rem.html index 007a2bf..ebbd6d4 100644 --- a/doc/headers/tuple/rem.html +++ b/doc/headers/tuple/rem.html @@ -1,10 +1,6 @@ - - - tuple/rem.hpp - - - -
    +tuple/rem.hpp + +
    The tuple/rem.hpp header defines a macro that removes the parentheses from a tuple.

    Usage

    @@ -13,19 +9,19 @@

    Contents


    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - - + diff --git a/doc/headers/tuple/reverse.html b/doc/headers/tuple/reverse.html index 271fc9c..0acaeed 100644 --- a/doc/headers/tuple/reverse.html +++ b/doc/headers/tuple/reverse.html @@ -1,10 +1,6 @@ - - - tuple/reverse.hpp - - - -
    +tuple/reverse.hpp + +
    The tuple/reverse.hpp header defines a macro that reverses a tuple.

    Usage

    @@ -13,18 +9,17 @@

    Contents


    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - - + diff --git a/doc/headers/tuple/size.html b/doc/headers/tuple/size.html new file mode 100644 index 0000000..44eb9b4 --- /dev/null +++ b/doc/headers/tuple/size.html @@ -0,0 +1,25 @@ + + tuple/size.hpp + +
    + The tuple/size.hpp header defines a variadic macro that gives the number of elements in the tuple. +
    +

    Usage

    +
    + #include <boost/preprocessor/tuple/size.hpp> +
    +

    Contents

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + diff --git a/doc/headers/tuple/to_array.html b/doc/headers/tuple/to_array.html new file mode 100644 index 0000000..6866893 --- /dev/null +++ b/doc/headers/tuple/to_array.html @@ -0,0 +1,25 @@ + + tuple/to_array.hpp + +
    + The tuple/to_array.hpp header defines a macro that converts a tuple to an array. +
    +

    Usage

    +
    + #include <boost/preprocessor/tuple/to_array.hpp> +
    +

    Contents

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + diff --git a/doc/headers/tuple/to_list.html b/doc/headers/tuple/to_list.html index 725167f..9d2f280 100644 --- a/doc/headers/tuple/to_list.html +++ b/doc/headers/tuple/to_list.html @@ -1,10 +1,6 @@ - - - tuple/to_list.hpp - - - -
    +tuple/to_list.hpp + +
    The tuple/to_list.hpp header defines a macro that converts a tuple to a list.

    Usage

    @@ -13,18 +9,17 @@

    Contents


    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - - + diff --git a/doc/headers/tuple/to_seq.html b/doc/headers/tuple/to_seq.html index 3504780..fa2cd2d 100644 --- a/doc/headers/tuple/to_seq.html +++ b/doc/headers/tuple/to_seq.html @@ -1,10 +1,6 @@ - - - tuple/to_seq.hpp - - - -
    +tuple/to_seq.hpp + +
    The tuple/to_seq.hpp header defines a macro that converts a tuple to a seq.
    @@ -19,18 +15,17 @@
    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - - + diff --git a/doc/headers/variadic.html b/doc/headers/variadic.html new file mode 100644 index 0000000..2183f83 --- /dev/null +++ b/doc/headers/variadic.html @@ -0,0 +1,33 @@ + + + variadic.hpp + + + +
    + The variadic.hpp includes the headers in the variadic folder. +
    +

    Usage

    +
    + #include <boost/preprocessor/variadic.hpp> +
    +

    Includes

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/headers/variadic/elem.html b/doc/headers/variadic/elem.html new file mode 100644 index 0000000..5afa637 --- /dev/null +++ b/doc/headers/variadic/elem.html @@ -0,0 +1,29 @@ + + + variadic/elem.hpp + + + + +
    + The variadic/elem.hpp header defines a variadic macro to extract an element from variadic data. +
    +

    Usage

    +
    + #include <boost/preprocessor/variadic/elem.hpp> +
    +

    Contents

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + diff --git a/doc/headers/variadic/size.html b/doc/headers/variadic/size.html new file mode 100644 index 0000000..ceb3e19 --- /dev/null +++ b/doc/headers/variadic/size.html @@ -0,0 +1,25 @@ + + variadic/size.hpp + +
    + The variadic/size.hpp header defines a variadic macro that gives the number of comma-separated elements in the variadic data. +
    +

    Usage

    +
    + #include <boost/preprocessor/variadic/size.hpp> +
    +

    Contents

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + \ No newline at end of file diff --git a/doc/headers/variadic/to_array.html b/doc/headers/variadic/to_array.html new file mode 100644 index 0000000..b2a9135 --- /dev/null +++ b/doc/headers/variadic/to_array.html @@ -0,0 +1,25 @@ + + variadic/to_array.hpp + +
    + The variadic/to_array.hpp header defines a variadic macro that converts variadic data to an array. +
    +

    Usage

    +
    + #include <boost/preprocessor/variadic/to_array.hpp> +
    +

    Contents

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + \ No newline at end of file diff --git a/doc/headers/variadic/to_list.html b/doc/headers/variadic/to_list.html new file mode 100644 index 0000000..b6dd41d --- /dev/null +++ b/doc/headers/variadic/to_list.html @@ -0,0 +1,25 @@ + + variadic/to_list.hpp + +
    + The variadic/to_list.hpp header defines a variadic macro that converts variadic data to a list. +
    +

    Usage

    +
    + #include <boost/preprocessor/variadic/to_list.hpp> +
    +

    Contents

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + \ No newline at end of file diff --git a/doc/headers/variadic/to_seq.html b/doc/headers/variadic/to_seq.html new file mode 100644 index 0000000..e2c00a5 --- /dev/null +++ b/doc/headers/variadic/to_seq.html @@ -0,0 +1,30 @@ + + variadic/to_seq.hpp + +
    + The variadic/to_seq.hpp header defines a variadic macro that converts variadic data to a seq. +
    +

    + Usage +

    +
    + #include <boost/preprocessor/variadic/to_seq.hpp> +
    +

    + Contents +

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + diff --git a/doc/headers/variadic/to_tuple.html b/doc/headers/variadic/to_tuple.html new file mode 100644 index 0000000..ae7281a --- /dev/null +++ b/doc/headers/variadic/to_tuple.html @@ -0,0 +1,31 @@ + + variadic/to_tuple.hpp + +
    + The variadic/to_tuple.hpp header defines a variadic macro that converts variadic data + to a tuple. +
    +

    + Usage +

    +
    + #include <boost/preprocessor/variadic/to_tuple.hpp> +
    +

    + Contents +

    + +
    +
    + © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + diff --git a/doc/ref.html b/doc/ref.html index 6911683..eb8d926 100644 --- a/doc/ref.html +++ b/doc/ref.html @@ -1,286 +1,304 @@ - - ref.html - - - - -

    - Reference [back] -

    - - + + ref.html + + + + +

    Reference [back] +

    + - - + \ No newline at end of file diff --git a/doc/ref/array_enum.html b/doc/ref/array_enum.html new file mode 100644 index 0000000..674d788 --- /dev/null +++ b/doc/ref/array_enum.html @@ -0,0 +1,37 @@ + + + BOOST_PP_ARRAY_ENUM + + + +
    The BOOST_PP_ARRAY_ENUM macro converts an array to its comma-separated elements. The comma-separated elements are in the form of variadic data.
    +
    +

    Usage

    +
    BOOST_PP_ARRAY_ENUM(array)
    +

    Arguments

    +
    +
    array
    +
    The array whose elements are to be converted.
    +
    +

    Remarks

    +
    This macro expands to a comma-separated list of the elements in array.  +For example, BOOST_PP_ARRAY_ENUM((3,(x,y,z))) +expands to... +
    x, y, z
    +
    +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/array/enum.hpp>

    #define ARRAY (5,(B,O,O,S,T))

    BOOST_PP_ARRAY_ENUM(ARRAY) // expands to B, O, O, S, T
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/array_to_list.html b/doc/ref/array_to_list.html new file mode 100644 index 0000000..607b205 --- /dev/null +++ b/doc/ref/array_to_list.html @@ -0,0 +1,33 @@ + + + BOOST_PP_ARRAY_TO_LIST + + + +
    The BOOST_PP_ARRAY_TO_LIST +macro converts an array to a list.
    +

    Usage

    +
    BOOST_PP_ARRAY_TO_LIST(array) +
    +

    Arguments

    +
    array
    +
    The array to be converted.
    +
    +
      +
    +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/array/to_list.hpp>

    BOOST_PP_ARRAY_TO_LIST((3, (x, y, z)))
    // expands to (x, (y, (z, BOOST_PP_NIL)))
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/array_to_seq.html b/doc/ref/array_to_seq.html new file mode 100644 index 0000000..308b364 --- /dev/null +++ b/doc/ref/array_to_seq.html @@ -0,0 +1,31 @@ + + + BOOST_PP_ARRAY_TO_SEQ + + + +
    The BOOST_PP_ARRAY_TO_SEQ macro +converts an array to a seq.
    +

    Usage

    +
    BOOST_PP_ARRAY_TO_SEQ(array) +
    +

    Arguments

    +
    array
    +
    The array to be converted.
    +
    +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/array/to_seq.hpp>

    BOOST_PP_ARRAY_TO_SEQ((3, (a, b, c))) // expands to (a)(b)(c)
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/array_to_tuple.html b/doc/ref/array_to_tuple.html new file mode 100644 index 0000000..085dd39 --- /dev/null +++ b/doc/ref/array_to_tuple.html @@ -0,0 +1,31 @@ + + + BOOST_PP_ARRAY_TO_TUPLE + + + +
    The BOOST_PP_ARRAY_TO_TUPLE macro +converts an array to an tuple.
    +

    Usage

    +
    BOOST_PP_ARRAY_TO_TUPLE(array)
    +

    Arguments

    +
    +
    array
    +
    The array to be converted.
    +
    +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/array/to_tuple.hpp>

    #define ARRAY (3,(a, b, c))

    BOOST_PP_ARRAY_TO_TUPLE(ARRAY) // expands to (a, b, c)
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/limit_tuple.html b/doc/ref/limit_tuple.html index 111e863..a249727 100644 --- a/doc/ref/limit_tuple.html +++ b/doc/ref/limit_tuple.html @@ -1,10 +1,10 @@ - BOOST_PP_LIMIT_TUPLE - + BOOST_PP_LIMIT_TUPLE + -
    +
    The BOOST_PP_LIMIT_TUPLE macro defines the maximum tuple size supported by the library.

    Usage

    @@ -13,7 +13,7 @@

    Remarks

    - This macro currently expands to 25. + This macro currently expands to 64.

    Requirements

    @@ -22,13 +22,12 @@
    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - + \ No newline at end of file diff --git a/doc/ref/limit_variadic.html b/doc/ref/limit_variadic.html new file mode 100644 index 0000000..7fd3d04 --- /dev/null +++ b/doc/ref/limit_variadic.html @@ -0,0 +1,24 @@ + + + BOOST_PP_LIMIT_VARIADIC + + + +
    The BOOST_PP_LIMIT_VARIADIC macro +defines the maximum variadic data size supported by the library.
    +

    Usage

    +
    BOOST_PP_LIMIT_VARIADIC
    +

    Remarks

    +
    This macro currently expands to 64.
    +

    Requirements

    + +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + \ No newline at end of file diff --git a/doc/ref/list_to_array.html b/doc/ref/list_to_array.html new file mode 100644 index 0000000..b691b34 --- /dev/null +++ b/doc/ref/list_to_array.html @@ -0,0 +1,39 @@ + + + BOOST_PP_LIST_TO_ARRAY + + +
    The BOOST_PP_LIST_TO_ARRAY macro +converts a list to an array.
    +

    Usage

    +
    BOOST_PP_LIST_TO_ARRAY(list)
    +

    Arguments

    +
    +
    list
    +
    The list to be converted.
    +
    +

    Remarks

    +
    + This macro uses BOOST_PP_WHILE. + Within BOOST_PP_WHILE, it is more efficient to use BOOST_PP_LIST_TO_ARRAY_D. +
    +

    See Also

    + +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/list/to_array.hpp>

    #define LIST (a, (b, (c, BOOST_PP_NIL)))

    BOOST_PP_LIST_TO_ARRAY(LIST) // expands to (3, (a, b, c))
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/list_to_array_d.html b/doc/ref/list_to_array_d.html new file mode 100644 index 0000000..8d93328 --- /dev/null +++ b/doc/ref/list_to_array_d.html @@ -0,0 +1,27 @@ + + + BOOST_PP_LIST_TO_ARRAY_D + + +
    +The BOOST_PP_LIST_TO_ARRAY_D macro converts a list to an array. +It reenters BOOST_PP_WHILE with maximum efficiency. +
    +

    Usage

    +
    BOOST_PP_LIST_TO_ARRAY_D(d, list)
    +

    Arguments

    +
    +
    d
    +
    The next available BOOST_PP_WHILE iteration.
    +
    list
    +
    The list to be converted.
    +
    +

    See Also

    + +

    Requirements

    + + + diff --git a/doc/ref/list_to_seq.html b/doc/ref/list_to_seq.html new file mode 100644 index 0000000..2f77cf1 --- /dev/null +++ b/doc/ref/list_to_seq.html @@ -0,0 +1,40 @@ + + + BOOST_PP_LIST_TO_SEQ + + + +
    The BOOST_PP_LIST_TO_SEQ macro +converts a list to a seq.
    +

    Usage

    +
    BOOST_PP_LIST_TO_SEQ(list) +
    +

    Arguments

    +
    list
    +
    The list to be converted.
    +
    +

    Remarks

    +
    + This macro uses BOOST_PP_FOR. + Within BOOST_PP_FOR, it is more efficient to use BOOST_PP_LIST_TO_SEQ_R. +
    +

    See Also

    + +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/list/to_seq.hpp>

    BOOST_PP_LIST_TO_SEQ((a, (b, (c, BOOST_PP_NIL)))) // expands to (a)(b)(c)
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/list_to_seq_r.html b/doc/ref/list_to_seq_r.html new file mode 100644 index 0000000..2c2bb37 --- /dev/null +++ b/doc/ref/list_to_seq_r.html @@ -0,0 +1,27 @@ + + + BOOST_PP_LIST_TO_SEQ_R + + +
    +The BOOST_PP_LIST_TO_SEQ_R macro converts a list to an seq. +It reenters BOOST_PP_FOR with maximum efficiency. +
    +

    Usage

    +
    BOOST_PP_LIST_TO_SEQ_R(r, list)
    +

    Arguments

    +
    +
    d
    +
    The next available BOOST_PP_FOR repetition.
    +
    list
    +
    The list to be converted.
    +
    +

    See Also

    + +

    Requirements

    + + + diff --git a/doc/ref/overload.html b/doc/ref/overload.html new file mode 100644 index 0000000..38f3e72 --- /dev/null +++ b/doc/ref/overload.html @@ -0,0 +1,46 @@ + + + BOOST_PP_OVERLOAD + + + +
    The BOOST_PP_OVERLOAD variadic macro expands to the name of a non-variadic macro having a given number of parameters.
    +
    +

    Usage

    +
    BOOST_PP_OVERLOAD(prefix,...) (v)
    +
    +

    Arguments

    +
    +
    prefix
    +
    + The prefix of the non-variadic macro name. +
    ...
    +
    + Variadic data. The number of variadic data +elements, as determined by BOOST_PP_VARIADIC_SIZE, is appended to the +prefix to form the output non-variadic macro name.
    +
    +
    +

    Remarks

    +
    This macro creates a macro name which depends on the number of elements of variadic data. It should be used in the form of
    +BOOST_PP_OVERLOAD(MACRO_NAME_,__VA_ARGS__)(__VA_ARGS__) in order to +call a non-variadic macro taking a given number of variadic data +elements as non-variadic arguments. In this way one can invoke a +variadic macro with a variable number of parameters which calls one of +a series of non-variadic macros doing very similar things. +
    Requirements + +

    Sample Code

    +
    +
    #include <boost/preprocessor/facilities/overload.hpp>
    #include <boost/preprocessor/cat.hpp>
    #include <boost/preprocessor/facilities/empty.hpp>
    #include <boost/preprocessor/arithmetic/add.hpp>

    #define MACRO_1(number) MACRO_2(number,10)
    #define MACRO_2(number1,number2) BOOST_PP_ADD(number1,number2)

    #define MACRO_ADD_NUMBERS(...) BOOST_PP_OVERLOAD(MACRO_,__VA_ARGS__)(__VA_ARGS__)

    // or for Visual C++

    #define MACRO_ADD_NUMBERS(...) \
    BOOST_PP_CAT(BOOST_PP_OVERLOAD(MACRO_,__VA_ARGS__)(__VA_ARGS__),BOOST_PP_EMPTY())

    MACRO_ADD_NUMBERS(5) // output is 15
    MACRO_ADD_NUMBERS(3,6) // output is 9
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + \ No newline at end of file diff --git a/doc/ref/seq_cat.html b/doc/ref/seq_cat.html index e65ef60..8cf87c5 100644 --- a/doc/ref/seq_cat.html +++ b/doc/ref/seq_cat.html @@ -1,17 +1,17 @@ - - BOOST_PP_SEQ_CAT + + BOOST_PP_SEQ_CAT - - -
    + + +
    The BOOST_PP_SEQ_CAT macro concatenates all elements in a seq.

    Usage

    - BOOST_PP_SEQ_CAT(list) + BOOST_PP_SEQ_CAT(seq)

    Arguments @@ -48,24 +48,17 @@ Sample Code

    -
    -#include <boost/preprocessor/seq/cat.hpp>
    -
    -#define SEQ (a)(b)(c)
    -
    -BOOST_PP_SEQ_CAT(SEQ) // expands to abc
    -
    +
    #include <boost/preprocessor/seq/cat.hpp>

    #define SEQ (a)(b)(c)

    BOOST_PP_SEQ_CAT(SEQ) // expands to abc

    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - + diff --git a/doc/ref/seq_cat_s.html b/doc/ref/seq_cat_s.html index df21c11..0683176 100644 --- a/doc/ref/seq_cat_s.html +++ b/doc/ref/seq_cat_s.html @@ -1,10 +1,10 @@ - - BOOST_PP_SEQ_CAT_S + + BOOST_PP_SEQ_CAT_S - - -
    + + +
    The BOOST_PP_SEQ_CAT_S macro concatenates all elements in a seq.  It reenters BOOST_PP_SEQ_FOLD_LEFT with maximum efficiency.
    @@ -12,7 +12,7 @@ Usage
    - BOOST_PP_SEQ_CAT_S(s, list) + BOOST_PP_SEQ_CAT_S(s, seq)

    Arguments @@ -49,13 +49,12 @@
    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - + diff --git a/doc/ref/seq_elem.html b/doc/ref/seq_elem.html index f350449..fa59744 100644 --- a/doc/ref/seq_elem.html +++ b/doc/ref/seq_elem.html @@ -1,17 +1,17 @@ - - BOOST_PP_SEQ_ELEM + + BOOST_PP_SEQ_ELEM - - -
    + + +
    The BOOST_PP_SEQ_ELEM macro extracts an element from a seq.

    Usage

    - BOOST_PP_SEQ_ELEM(i, list) + BOOST_PP_SEQ_ELEM(i, seq)

    Arguments @@ -43,37 +43,17 @@ Sample Code

    -
    -#include <boost/preprocessor/seq/elem.hpp>
    -
    -BOOST_PP_SEQ_ELEM(1, (a)(b)(c)) // expands to b
    -
    -#define SEQ \
    -   (0)(1)(2)(3)(4)(5)(6)(7)(8)(9) \
    -   (10)(11)(12)(13)(14)(15)(16)(17)(18)(19) \
    -   (20)(21)(22)(23)(24)(25)(26)(27)(28)(29) \
    -   (30)(31)(32)(33)(34)(35)(36)(37)(38)(39) \
    -   (40)(41)(42)(43)(44)(45)(46)(47)(48)(49) \
    -   (50)(51)(52)(53)(54)(55)(56)(57)(58)(59) \
    -   (60)(61)(62)(63)(64)(65)(66)(67)(68)(69) \
    -   (70)(71)(72)(73)(74)(75)(76)(77)(78)(79) \
    -   (80)(81)(82)(83)(84)(85)(86)(87)(88)(89) \
    -   (90)(91)(92)(93)(94)(95)(96)(97)(98)(99) \
    -   /**/
    -
    -BOOST_PP_SEQ_ELEM(88, SEQ) // expands to 88
    -
    +
    #include <boost/preprocessor/seq/elem.hpp>

    BOOST_PP_SEQ_ELEM(1, (a)(b)(c)) // expands to b

    #define SEQ \
    (0)(1)(2)(3)(4)(5)(6)(7)(8)(9) \
    (10)(11)(12)(13)(14)(15)(16)(17)(18)(19) \
    (20)(21)(22)(23)(24)(25)(26)(27)(28)(29) \
    (30)(31)(32)(33)(34)(35)(36)(37)(38)(39) \
    (40)(41)(42)(43)(44)(45)(46)(47)(48)(49) \
    (50)(51)(52)(53)(54)(55)(56)(57)(58)(59) \
    (60)(61)(62)(63)(64)(65)(66)(67)(68)(69) \
    (70)(71)(72)(73)(74)(75)(76)(77)(78)(79) \
    (80)(81)(82)(83)(84)(85)(86)(87)(88)(89) \
    (90)(91)(92)(93)(94)(95)(96)(97)(98)(99) \
    /**/

    BOOST_PP_SEQ_ELEM(88, SEQ) // expands to 88

    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - + diff --git a/doc/ref/seq_first_n.html b/doc/ref/seq_first_n.html index 843d6ca..5c8e9e6 100644 --- a/doc/ref/seq_first_n.html +++ b/doc/ref/seq_first_n.html @@ -1,10 +1,10 @@ - - BOOST_PP_SEQ_FIRST_N + + BOOST_PP_SEQ_FIRST_N - - -
    + + +
    The BOOST_PP_SEQ_FIRST_N macro expands to a seq of the first n elements of a seq.
    @@ -12,7 +12,7 @@ Usage

    - BOOST_PP_SEQ_FIRST_N(n, list) + BOOST_PP_SEQ_FIRST_N(n, seq)

    Arguments @@ -22,7 +22,7 @@
    The number of elements to extract.
    -
    list
    +
    seq
    The seq from which the elements are extracted.
    @@ -51,24 +51,17 @@ Sample Code

    -
    -#include <boost/preprocessor/seq/first_n.hpp>
    -
    -#define SEQ (a)(b)(c)(d)(e)
    -
    -BOOST_PP_SEQ_FIRST_N(2, SEQ) // expands to (a)(b)
    -
    +
    #include <boost/preprocessor/seq/first_n.hpp>

    #define SEQ (a)(b)(c)(d)(e)

    BOOST_PP_SEQ_FIRST_N(2, SEQ) // expands to (a)(b)

    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - + diff --git a/doc/ref/seq_nil.html b/doc/ref/seq_nil.html index 63e0fce..bb446ed 100644 --- a/doc/ref/seq_nil.html +++ b/doc/ref/seq_nil.html @@ -1,12 +1,12 @@ - - BOOST_PP_SEQ_NIL + + BOOST_PP_SEQ_NIL - - -
    + + +
    The BOOST_PP_SEQ_NIL macro is a placeholder macro for an empty seq.  - It is only valid if it is elements are appended to the end of this empty + It is only valid if it's elements are appended to the end of this empty "seq." 

    @@ -63,38 +63,19 @@ Sample Code

    -
    -#include <boost/preprocessor/facilities/empty.hpp>
    -#include <boost/preprocessor/seq/push_back.hpp>
    -#include <boost/preprocessor/seq/push_front.hpp>
    -#include <boost/preprocessor/seq/seq.hpp>
    -
    -#define SEQ_L BOOST_PP_SEQ_NIL
    +			
    #include <boost/preprocessor/facilities/empty.hpp>
    #include <boost/preprocessor/seq/push_back.hpp>
    #include <boost/preprocessor/seq/push_front.hpp>
    #include <boost/preprocessor/seq/seq.hpp>

    #define SEQ_L BOOST_PP_SEQ_NIL #define SEQ_R BOOST_PP_EMPTY - -BOOST_PP_SEQ_PUSH_BACK( - BOOST_PP_SEQ_PUSH_BACK(SEQ_L, a), b -) - -// expands to (a)(b) - -BOOST_PP_SEQ_PUSH_FRONT( - BOOST_PP_SEQ_PUSH_FRONT(SEQ_R, a), b -)() - -// expands to (b)(a) -
    +BOOST_PP_SEQ_PUSH_BACK(
    BOOST_PP_SEQ_PUSH_BACK(SEQ_L, a), b
    )

    // expands to (a)(b)

    BOOST_PP_SEQ_PUSH_FRONT(
    BOOST_PP_SEQ_PUSH_FRONT(SEQ_R, a), b
    )()

    // expands to (b)(a)

    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - + diff --git a/doc/ref/seq_rest_n.html b/doc/ref/seq_rest_n.html index ae43eb3..16a53df 100644 --- a/doc/ref/seq_rest_n.html +++ b/doc/ref/seq_rest_n.html @@ -1,10 +1,10 @@ - - BOOST_PP_SEQ_REST_N + + BOOST_PP_SEQ_REST_N - - -
    + + +
    The BOOST_PP_SEQ_REST_N macro expands to a seq of all but the first n elements of a seq.
    @@ -12,7 +12,7 @@ Usage
    - BOOST_PP_SEQ_REST_N(n, list) + BOOST_PP_SEQ_REST_N(n, seq)

    Arguments @@ -22,7 +22,7 @@
    The number of elements to remove.
    -
    list
    +
    seq
    The seq from which the elements are to be removed.
    @@ -51,70 +51,17 @@ Sample Code

    -
    -#include <boost/preprocessor/arithmetic/inc.hpp>
    -#include <boost/preprocessor/seq/elem.hpp>
    -#include <boost/preprocessor/seq/first_n.hpp>
    -#include <boost/preprocessor/seq/rest_n.hpp>
    -#include <boost/preprocessor/seq/size.hpp>
    -
    -#define NUMBERS \
    -   (0)(1)(2)(3)(4)(5)(6)(7)(8)(9) \
    -   (10)(11)(12)(13)(14)(15)(16)(17)(18)(19) \
    -   (20)(21)(22)(23)(24)(25)(26)(27)(28)(29) \
    -   (30)(31)(32)(33)(34)(35)(36)(37)(38)(39) \
    -   (40)(41)(42)(43)(44)(45)(46)(47)(48)(49) \
    -   (50)(51)(52)(53)(54)(55)(56)(57)(58)(59) \
    -   (60)(61)(62)(63)(64)(65)(66)(67)(68)(69) \
    -   (70)(71)(72)(73)(74)(75)(76)(77)(78)(79) \
    -   (80)(81)(82)(83)(84)(85)(86)(87)(88)(89) \
    -   (90)(91)(92)(93)(94)(95)(96)(97)(98)(99) \
    -   (100)(101)(102)(103)(104)(105)(106)(107)(108)(109) \
    -   (110)(111)(112)(113)(114)(115)(116)(117)(118)(119) \
    -   (120)(121)(122)(123)(124)(125)(126)(127)(128)(129) \
    -   (130)(131)(132)(133)(134)(135)(136)(137)(138)(139) \
    -   (140)(141)(142)(143)(144)(145)(146)(147)(148)(149) \
    -   (150)(151)(152)(153)(154)(155)(156)(157)(158)(159) \
    -   (160)(161)(162)(163)(164)(165)(166)(167)(168)(169) \
    -   (170)(171)(172)(173)(174)(175)(176)(177)(178)(179) \
    -   (180)(181)(182)(183)(184)(185)(186)(187)(188)(189) \
    -   (190)(191)(192)(193)(194)(195)(196)(197)(198)(199) \
    -   (200)(201)(202)(203)(204)(205)(206)(207)(208)(209) \
    -   (210)(211)(212)(213)(214)(215)(216)(217)(218)(219) \
    -   (220)(221)(222)(223)(224)(225)(226)(227)(228)(229) \
    -   (230)(231)(232)(233)(234)(235)(236)(237)(238)(239) \
    -   (240)(241)(242)(243)(244)(245)(246)(247)(248)(249) \
    -   (250)(251)(252)(253)(254)(255)(256) \
    -   /**/
    -
    -#define SUPER_ADD(x, y) BOOST_PP_SEQ_ELEM(y, BOOST_PP_SEQ_REST_N(x, NUMBERS))
    -
    -SUPER_ADD(100, 100) // expands to 200
    -
    -#define SUPER_SUB(x, y) \
    -   BOOST_PP_SEQ_SIZE( \
    -      BOOST_PP_SEQ_REST_N( \
    -         BOOST_PP_INC(y), \
    -         BOOST_PP_SEQ_FIRST_N( \
    -            BOOST_PP_INC(x), NUMBERS \
    -         ) \
    -      ) \
    -   ) \
    -   /**/
    -
    -SUPER_SUB(67, 25) // expands to 42
    -
    +
    #include <boost/preprocessor/arithmetic/inc.hpp>
    #include <boost/preprocessor/seq/elem.hpp>
    #include <boost/preprocessor/seq/first_n.hpp>
    #include <boost/preprocessor/seq/rest_n.hpp>
    #include <boost/preprocessor/seq/size.hpp>

    #define NUMBERS \
    (0)(1)(2)(3)(4)(5)(6)(7)(8)(9) \
    (10)(11)(12)(13)(14)(15)(16)(17)(18)(19) \
    (20)(21)(22)(23)(24)(25)(26)(27)(28)(29) \
    (30)(31)(32)(33)(34)(35)(36)(37)(38)(39) \
    (40)(41)(42)(43)(44)(45)(46)(47)(48)(49) \
    (50)(51)(52)(53)(54)(55)(56)(57)(58)(59) \
    (60)(61)(62)(63)(64)(65)(66)(67)(68)(69) \
    (70)(71)(72)(73)(74)(75)(76)(77)(78)(79) \
    (80)(81)(82)(83)(84)(85)(86)(87)(88)(89) \
    (90)(91)(92)(93)(94)(95)(96)(97)(98)(99) \
    (100)(101)(102)(103)(104)(105)(106)(107)(108)(109) \
    (110)(111)(112)(113)(114)(115)(116)(117)(118)(119) \
    (120)(121)(122)(123)(124)(125)(126)(127)(128)(129) \
    (130)(131)(132)(133)(134)(135)(136)(137)(138)(139) \
    (140)(141)(142)(143)(144)(145)(146)(147)(148)(149) \
    (150)(151)(152)(153)(154)(155)(156)(157)(158)(159) \
    (160)(161)(162)(163)(164)(165)(166)(167)(168)(169) \
    (170)(171)(172)(173)(174)(175)(176)(177)(178)(179) \
    (180)(181)(182)(183)(184)(185)(186)(187)(188)(189) \
    (190)(191)(192)(193)(194)(195)(196)(197)(198)(199) \
    (200)(201)(202)(203)(204)(205)(206)(207)(208)(209) \
    (210)(211)(212)(213)(214)(215)(216)(217)(218)(219) \
    (220)(221)(222)(223)(224)(225)(226)(227)(228)(229) \
    (230)(231)(232)(233)(234)(235)(236)(237)(238)(239) \
    (240)(241)(242)(243)(244)(245)(246)(247)(248)(249) \
    (250)(251)(252)(253)(254)(255)(256) \
    /**/

    #define SUPER_ADD(x, y) BOOST_PP_SEQ_ELEM(y, BOOST_PP_SEQ_REST_N(x, NUMBERS))

    SUPER_ADD(100, 100) // expands to 200

    #define SUPER_SUB(x, y) \
    BOOST_PP_SEQ_SIZE( \
    BOOST_PP_SEQ_REST_N( \
    BOOST_PP_INC(y), \
    BOOST_PP_SEQ_FIRST_N( \
    BOOST_PP_INC(x), NUMBERS \
    ) \
    ) \
    ) \
    /**/

    SUPER_SUB(67, 25) // expands to 42

    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - + diff --git a/doc/ref/seq_to_list.html b/doc/ref/seq_to_list.html new file mode 100644 index 0000000..b05ceec --- /dev/null +++ b/doc/ref/seq_to_list.html @@ -0,0 +1,34 @@ + + + BOOST_PP_SEQ_TO_LIST + + + +
    The BOOST_PP_SEQ_TO_LIST +macro converts a seq to a list.
    +

    Usage

    +
    BOOST_PP_SEQ_TO_LIST(seq) +
    +

    Arguments

    +
    seq
    +
    The seq to be converted.
    +
    See Also + +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/seq/to_list.hpp>

    BOOST_PP_SEQ_TO_LIST((x)(y)(z))
    // expands to (x, (y, (z, BOOST_PP_NIL)))
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/tuple_eat.html b/doc/ref/tuple_eat.html index 6eb86f5..146a7c8 100644 --- a/doc/ref/tuple_eat.html +++ b/doc/ref/tuple_eat.html @@ -1,28 +1,38 @@ - - BOOST_PP_TUPLE_EAT + + BOOST_PP_TUPLE_EAT - - -
    - The BOOST_PP_TUPLE_EAT macro expands to a macro that eats a tuple of the specified size. + + +
    + The BOOST_PP_TUPLE_EAT macro expands to a macro that eats a tuple.

    Usage

    - BOOST_PP_TUPLE_EAT(size) -
    + BOOST_PP_TUPLE_EAT(size)
    +
    +or
    +
    +BOOST_PP_TUPLE_EAT(size) (v)
    +

    Arguments

    size
    The size of the tuple to be eaten.  - Valid tuple sizes range from 0 to BOOST_PP_LIMIT_TUPLE.  + Valid tuple sizes range from 1 to BOOST_PP_LIMIT_TUPLE.

    Remarks

    - The size argument must be the actual size of the tuple. -
    + The size argument must be the actual size of the tuple in the non-variadic version.
    +
    For the variadic version (v) the +size may be left out +completely so that the macro can be invoked as BOOST_PP_TUPLE_EAT(); you may get a warning from some compilers, but the +functionality will still work. If you specify a size in the variadic +version, it will be ignored, but the warning from some compilers will +not occur.
    +

    See Also

    Sample Code

    -
    -#include <boost/preprocessor/control/if.hpp>
    -#include <boost/preprocessor/tuple/eat.hpp>
    -
    -#define OP(a, b) (a b)
    -
    -#define MACRO(n) BOOST_PP_IF(n, OP, BOOST_PP_TUPLE_EAT(2))(1, 2)
    -
    -MACRO(0) // expands to nothing
    -MACRO(1) // expands to (1, 2)
    -
    +
    #include <boost/preprocessor/control/if.hpp>
    #include <boost/preprocessor/tuple/eat.hpp>

    #define OP(a, b) (a b)

    #define MACRO(n) BOOST_PP_IF(n, OP, BOOST_PP_TUPLE_EAT(2))(1, 2)

    // or for the variadic version (v)

    #define MACRO(n) BOOST_PP_IF(n, OP, BOOST_PP_TUPLE_EAT())(1, 2)

    MACRO(0) // expands to nothing
    MACRO(1) // expands to (1, 2)

    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002
    +
    © Copyright Edward Diener 2011

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - - + + \ No newline at end of file diff --git a/doc/ref/tuple_elem.html b/doc/ref/tuple_elem.html index 18d748c..8edac98 100644 --- a/doc/ref/tuple_elem.html +++ b/doc/ref/tuple_elem.html @@ -1,22 +1,26 @@ - - BOOST_PP_TUPLE_ELEM + + BOOST_PP_TUPLE_ELEM - - -
    + + +
    The BOOST_PP_TUPLE_ELEM macro extracts an element from a tuple.

    Usage

    - BOOST_PP_TUPLE_ELEM(size, i, tuple) -
    + BOOST_PP_TUPLE_ELEM(size, i, tuple)
    +
    +or
    +
    +BOOST_PP_TUPLE_ELEM(...) (v)
    +

    Arguments

    size
    The size of the tuple.  - Valid tuple sizes range from 0 to BOOST_PP_LIMIT_TUPLE.  + Valid tuple sizes range from 1 to BOOST_PP_LIMIT_TUPLE
    i
    @@ -31,7 +35,10 @@

    Remarks

    The size argument must be the actual size of the tuple, - and i must be less than the size of the tuple. + and i must be less than the size of the tuple.
    +
    You can + invoke the variadic version as BOOST_PP_TUPLE_ELEM(i,tuple) or + BOOST_PP_TUPLE_ELEM(size,i,tuple).

    See Also

    Sample Code

    -
    -#include <boost/preprocessor/tuple/elem.hpp>
    -
    -#define TUPLE (a, b, c, d)
    -
    -BOOST_PP_TUPLE_ELEM(4, 0, TUPLE) // expands to a
    -BOOST_PP_TUPLE_ELEM(4, 3, TUPLE) // expands to d
    -
    +
    #include <boost/preprocessor/tuple/elem.hpp>

    #define TUPLE (a, b, c, d)

    BOOST_PP_TUPLE_ELEM(4, 0, TUPLE) // expands to a
    BOOST_PP_TUPLE_ELEM(4, 3, TUPLE) // expands to d

    // or for the variadic version (v)

    BOOST_PP_TUPLE_ELEM(0, TUPLE) // expands to a in the variadic version
    BOOST_PP_TUPLE_ELEM(3, TUPLE) // expands to d in the variadic version

    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002
    +
    © Copyright Edward Diener 2011

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - - + + \ No newline at end of file diff --git a/doc/ref/tuple_enum.html b/doc/ref/tuple_enum.html new file mode 100644 index 0000000..a8c78a4 --- /dev/null +++ b/doc/ref/tuple_enum.html @@ -0,0 +1,55 @@ + + + BOOST_PP_TUPLE_ENUM + + + +
    The BOOST_PP_TUPLE_ENUM macro converts a tuple to its comma-separated elements. The comma-separated elements are in the form of variadic data.
    +

    Usage

    +
    BOOST_PP_TUPLE_ENUM(size,tuple)
    +
    +or
    +
    +BOOST_PP_TUPLE_ENUM(...) (v)
    +
    +

    Arguments

    +
    +
    size
    +
    + The size of the tuple.  + Valid tuple sizes range from 1 to BOOST_PP_LIMIT_TUPLE.
    +
    +
    tuple
    +
    The tuple whose elements are to be converted.
    +
    +

    Remarks

    +
    +
    You can +invoke the variadic version (v) as BOOST_PP_TUPLE_ENUM(tuple) or +BOOST_PP_TUPLE_ENUM(size,tuple).
    +
    +

    See Also

    + +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/tuple/enum.hpp>

    #define TUPLE (B,O,O,S,T)

    BOOST_PP_TUPLE_ENUM(5,TUPLE) // expands to B, O, O, S, T

    // or for the variadic version (v)

    BOOST_PP_TUPLE_ENUM(TUPLE) // expands to B, O, O, S, T
    +
    +
    +
    © Copyright Housemarque Oy 2002 +
    +© Copyright Paul Mensonides 2002
    +
    © Copyright Edward Diener 2011
    +
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + \ No newline at end of file diff --git a/doc/ref/tuple_rem.html b/doc/ref/tuple_rem.html index addf1a1..b2de7a2 100644 --- a/doc/ref/tuple_rem.html +++ b/doc/ref/tuple_rem.html @@ -1,27 +1,38 @@ - - BOOST_PP_TUPLE_REM + + BOOST_PP_TUPLE_REM - - -
    - The BOOST_PP_TUPLE_REM macro expands to a macro that removes the parentheses from a tuple of the specified size. + + +
    + The BOOST_PP_TUPLE_REM macro expands to a macro that removes the parentheses from a tuple.

    Usage

    - BOOST_PP_TUPLE_REM(size) + BOOST_PP_TUPLE_REM(size)
    +
    +or
    +
    +BOOST_PP_TUPLE_REM(size) (v)

    Arguments

    size
    The size of the tuple from which the parentheses are to be removed.  - Valid tuple sizes range from 0 to BOOST_PP_LIMIT_TUPLE.  + Valid tuple sizes range from 1 to BOOST_PP_LIMIT_TUPLE

    Remarks

    - The size argument must be the actual size of the tuple. + The size argument must be the actual size of the tuple in the non-variadic version.
    +
    +For the variadic version (v) the +size may be left out +completely so that the macro can be invoked as BOOST_PP_TUPLE_REM(); you may get a warning from some compilers, but the +functionality will still work. If you specify a size in the variadic +version, it will be ignored, but the warning from some compilers will +not occur.

    See Also

    Sample Code

    -
    -#include <boost/preprocessor/tuple/rem.hpp>
    -
    -BOOST_PP_TUPLE_REM(3)(x, y, z) // expands to x, y, z
    -
    +
    #include <boost/preprocessor/tuple/rem.hpp>

    BOOST_PP_TUPLE_REM(3)(x, y, z) // expands to x, y, z

    // or for the variadic version (v)

    BOOST_PP_TUPLE_REM()(x, y, z) // expands to x, y, z

    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002
    +
    © Copyright Edward Diener 2011

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - - + + \ No newline at end of file diff --git a/doc/ref/tuple_rem_ctor.html b/doc/ref/tuple_rem_ctor.html index e3a59e1..acd530b 100644 --- a/doc/ref/tuple_rem_ctor.html +++ b/doc/ref/tuple_rem_ctor.html @@ -1,22 +1,26 @@ - - BOOST_PP_TUPLE_REM_CTOR + + BOOST_PP_TUPLE_REM_CTOR - - -
    - The BOOST_PP_TUPLE_REM_CTOR macro removes the parentheses from a tuple of the specified size. + + +
    + The BOOST_PP_TUPLE_REM_CTOR macro removes the parentheses from a tuple.

    Usage

    - BOOST_PP_TUPLE_REM_CTOR(size, tuple) + BOOST_PP_TUPLE_REM_CTOR(size, tuple)
    +
    +or
    +
    +BOOST_PP_TUPLE_REM_CTOR(...) (v)

    Arguments

    size
    The size of the tuple from which the parentheses are to be removed.  - Valid tuple sizes range from 0 to BOOST_PP_LIMIT_TUPLE.  + Valid tuple sizes range from 1 to BOOST_PP_LIMIT_TUPLE
    tuple
    @@ -25,7 +29,11 @@

    Remarks

    - The size argument must be the actual size of tuple. + The size argument must be the actual size of tuple.
    +
    +You can +invoke the variadic version (v) as BOOST_PP_TUPLE_REM_CTOR(tuple) or +BOOST_PP_TUPLE_REM_CTOR(size,tuple).

    See Also

    Sample Code

    -
    -#include <boost/preprocessor/tuple/rem.hpp>
    -
    -BOOST_PP_TUPLE_REM_CTOR(3, (x, y, z)) // expands to x, y, z
    -
    +
    #include <boost/preprocessor/tuple/rem.hpp>

    BOOST_PP_TUPLE_REM_CTOR(3, (x, y, z)) // expands to x, y, z

    // or for the variadic version (v)

    BOOST_PP_TUPLE_REM_CTOR((x, y, z)) // expands to x, y, z

    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002
    +
    © Copyright Edward Diener 2011
    +

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - - + + \ No newline at end of file diff --git a/doc/ref/tuple_reverse.html b/doc/ref/tuple_reverse.html index 1aa4e7b..39c95c9 100644 --- a/doc/ref/tuple_reverse.html +++ b/doc/ref/tuple_reverse.html @@ -1,22 +1,27 @@ - - BOOST_PP_TUPLE_REVERSE + + BOOST_PP_TUPLE_REVERSE - - -
    - The BOOST_PP_TUPLE_REVERSE macro reverses a tuple of the specified size. + + +
    + The BOOST_PP_TUPLE_REVERSE macro reverses a tuple.

    Usage

    - BOOST_PP_TUPLE_REVERSE(size, tuple) + BOOST_PP_TUPLE_REVERSE(size, tuple)
    +
    +or
    +
    +BOOST_PP_TUPLE_REVERSE(...) (v)
    +

    Arguments

    size
    The size of the tuple to be reversed.  - Valid tuple sizes range from 0 to BOOST_PP_LIMIT_TUPLE.  + Valid tuple sizes range from 1 to BOOST_PP_LIMIT_TUPLE
    tuple
    @@ -25,7 +30,11 @@

    Remarks

    - The size argument must be the actual size of the tuple. + The size argument must be the actual size of the tuple.
    +
    +You can +invoke the variadic version (v) as BOOST_PP_TUPLE_REVERSE(tuple) or +BOOST_PP_TUPLE_REVERSE(size,tuple).

    See Also

    Sample Code

    -
    -#include <boost/preprocessor/tuple/reverse.hpp>
    -
    -BOOST_PP_TUPLE_REVERSE(3, (x, y, z)) // expands to (z, y, x)
    -
    +
    #include <boost/preprocessor/tuple/reverse.hpp>

    BOOST_PP_TUPLE_REVERSE(3, (x, y, z)) // expands to (z, y, x)

    // or for the variadic version (v)

    BOOST_PP_TUPLE_REVERSE((x, y, z)) // expands to (z, y, x)

    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002
    +
    © Copyright Edward Diener 2011

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - - + + \ No newline at end of file diff --git a/doc/ref/tuple_size.html b/doc/ref/tuple_size.html new file mode 100644 index 0000000..ac97dd5 --- /dev/null +++ b/doc/ref/tuple_size.html @@ -0,0 +1,32 @@ + + + BOOST_PP_TUPLE_SIZE + + + +
    The BOOST_PP_TUPLE_SIZE macro +expands to the size of the tuple passed to it.
    +

    Usage

    +
    BOOST_PP_TUPLE_SIZE(tuple) (v)
    +
    +

    Arguments

    +
    +
    tuple
    +
    A tuple whose size is to be extracted.
    +
    +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/tuple/size.hpp>

    #define TUPLE (x, y, z)

    BOOST_PP_TUPLE_SIZE(TUPLE) // expands to 3
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/tuple_to_array.html b/doc/ref/tuple_to_array.html new file mode 100644 index 0000000..627d682 --- /dev/null +++ b/doc/ref/tuple_to_array.html @@ -0,0 +1,50 @@ + + + BOOST_PP_TUPLE_TO_ARRAY + + + +
    The BOOST_PP_TUPLE_TO_ARRAY +macro +converts a tuple to an array.
    +

    Usage

    +
    BOOST_PP_TUPLE_TO_ARRAY(size,tuple)
    +
    +or
    +
    +BOOST_PP_TUPLE_TO_ARRAY(...) (v)
    +
    +

    Arguments

    +
    +
    size
    +
    The size of the tuple.  Valid tuple sizes +range from 1 to BOOST_PP_LIMIT_TUPLE.
    +
    +
    tuple
    +
    The tuple to be converted.
    +
    +

    Remarks

    +
    + The size argument must be the actual size of the tuple.
    +
    +You can +invoke the variadic version (v) as BOOST_PP_TUPLE_TO_ARRAY(tuple) or +BOOST_PP_TUPLE_TO_ARRAY(size,tuple). +
    +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/tuple/to_array.hpp>

    #define TUPLE (a,b,c)

    BOOST_PP_TUPLE_TO_ARRAY(3,TUPLE) // expands to (3, (a, b, c))

    // or for the variadic version (v)

    BOOST_PP_TUPLE_TO_ARRAY(TUPLE) // expands to (3, (a, b, c))
    +
    +
    +
    © Copyright Edward Diener 2011 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + \ No newline at end of file diff --git a/doc/ref/tuple_to_list.html b/doc/ref/tuple_to_list.html index 2723de1..0699766 100644 --- a/doc/ref/tuple_to_list.html +++ b/doc/ref/tuple_to_list.html @@ -1,22 +1,26 @@ - - BOOST_PP_TUPLE_TO_LIST + + BOOST_PP_TUPLE_TO_LIST - - -
    + + +
    The BOOST_PP_TUPLE_TO_LIST macro converts a tuple to a list.

    Usage

    - BOOST_PP_TUPLE_TO_LIST(size, tuple) + BOOST_PP_TUPLE_TO_LIST(size, tuple)
    +
    +or
    +
    +BOOST_PP_TUPLE_TO_LIST(...) (v)

    Arguments

    size
    The size of the tuple to be converted.  - Valid tuple sizes range from 0 to BOOST_PP_LIMIT_TUPLE.  + Valid tuple sizes range from 1 to BOOST_PP_LIMIT_TUPLE
    tuple
    @@ -25,7 +29,11 @@

    Remarks

    - The size argument must be the actual size of the tuple. + The size argument must be the actual size of the tuple.
    +
    +You can +invoke the variadic version (v) as BOOST_PP_TUPLE_TO_LIST(tuple) or +BOOST_PP_TUPLE_TO_LIST(size,tuple).

    See Also

    Sample Code

    -
    -#include <boost/preprocessor/tuple/to_list.hpp>
    -
    -BOOST_PP_TUPLE_TO_LIST(3, (x, y, z))
    -   // expands to (x, (y, (z, BOOST_PP_NIL)))
    -
    +
    #include <boost/preprocessor/tuple/to_list.hpp>

    BOOST_PP_TUPLE_TO_LIST(3, (x, y, z))
    // expands to (x, (y, (z, BOOST_PP_NIL)))

    // or for the variadic version (v)

    BOOST_PP_TUPLE_TO_LIST((x, y, z))
    // expands to (x, (y, (z, BOOST_PP_NIL)))

    © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 +
    © Copyright Paul Mensonides 2002
    +
    © Copyright Edward Diener 2011

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    + copy at www.boost.org/LICENSE_1_0.txt)

    - - + + \ No newline at end of file diff --git a/doc/ref/tuple_to_seq.html b/doc/ref/tuple_to_seq.html index f17463d..fd3b4ec 100644 --- a/doc/ref/tuple_to_seq.html +++ b/doc/ref/tuple_to_seq.html @@ -1,57 +1,51 @@ - - BOOST_PP_TUPLE_TO_SEQ - - - -
    - The BOOST_PP_TUPLE_TO_SEQ macro converts a tuple to an seq. -
    -

    - Usage -

    -
    - BOOST_PP_TUPLE_TO_SEQ(size, tuple) -
    -

    - Arguments -

    -
    -
    size
    -
    - The number of elements in tuple. -
    -
    tuple
    -
    - The tuple to be converted. -
    -
    -

    - Requirements -

    - -

    - Sample Code -

    -
    -
    -#include <boost/preprocessor/tuple/to_seq.hpp>
    -
    -BOOST_PP_TUPLE_TO_SEQ(3, (a, b, c)) // expands to (a)(b)(c)
    -
    -
    -
    -
    - © Copyright Housemarque Oy 2002 -
    © Copyright Paul Mensonides 2002 -
    -
    -

    Distributed under the Boost Software License, Version 1.0. (See - accompanying file LICENSE_1_0.txt or - copy at www.boost.org/LICENSE_1_0.txt)

    -
    - - + + BOOST_PP_TUPLE_TO_SEQ + + + +
    The BOOST_PP_TUPLE_TO_SEQ macro +converts a tuple to an seq.
    +

    Usage

    +
    BOOST_PP_TUPLE_TO_SEQ(size, tuple)
    +
    +or
    +
    +BOOST_PP_TUPLE_TO_SEQ(...) (v)
    +
    +

    Arguments

    +
    +
    size
    +
    + The size of the tuple to be converted.  + Valid tuple sizes range from 1 to BOOST_PP_LIMIT_TUPLE
    +
    tuple
    +
    The tuple to be converted.
    +
    +

    Remarks

    +
    The size argument must be the actual size of the tuple.
    +
    +You can +invoke the variadic version (v) as BOOST_PP_TUPLE_TO_SEQ(tuple) or +BOOST_PP_TUPLE_TO_SEQ(size,tuple). +
    +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/tuple/to_seq.hpp>

    BOOST_PP_TUPLE_TO_SEQ(3, (a, b, c)) // expands to (a)(b)(c)

    // or for the variadic version (v)

    BOOST_PP_TUPLE_TO_SEQ((a, b, c)) // expands to (a)(b)(c)
    +
    +
    +
    © Copyright Housemarque Oy 2002 +
    +© Copyright Paul Mensonides 2002
    +
    © Copyright Edward Diener 2011
    +
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + \ No newline at end of file diff --git a/doc/ref/variadic_elem.html b/doc/ref/variadic_elem.html new file mode 100644 index 0000000..326a0d4 --- /dev/null +++ b/doc/ref/variadic_elem.html @@ -0,0 +1,42 @@ + + + BOOST_PP_VARIADIC_ELEM + + + +
    The BOOST_PP_VARIADIC_ELEM variadic macro +extracts an element from variadic data.
    +

    Usage

    +
    BOOST_PP_VARIADIC_ELEM(i, ...) (v)
    +
    +

    Arguments

    +
    i
    +
    The zero-based index into the variadic data of the element to be +extracted.  Valid values range from 0 to the size of the variadic data - 1. +
    +
    ...
    +
    +
    The variadic data from which an element is to be extracted.
    +
    +

    Remarks

    +
    The index i must be less than the size of the variadic data.
    +

    See Also

    + +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/variadic/elem.hpp>

    #define VAR_DATA a, b, c, d

    BOOST_PP_VARIADIC_ELEM(0, VAR_DATA) // expands to a
    BOOST_PP_VARIADIC_ELEM(3, VAR_DATA) // expands to d
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/variadic_size.html b/doc/ref/variadic_size.html new file mode 100644 index 0000000..b1a9f36 --- /dev/null +++ b/doc/ref/variadic_size.html @@ -0,0 +1,33 @@ + + + BOOST_PP_VARIADIC_SIZE + + + +
    The BOOST_PP_VARIADIC_SIZE variadic macro +expands to the size of the variadic data passed to it.
    +

    Usage

    +
    BOOST_PP_VARIADIC_SIZE(...) (v)
    +
    +

    Arguments

    +
    +
    ...
    +
    +
      Variadic data whose size is to be extracted.
    +
    +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/variadic/size.hpp>

    #define VAR_DATA x, y, z

    BOOST_PP_VARIADIC_SIZE(VAR_DATA) // expands to 3
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/variadic_to_array.html b/doc/ref/variadic_to_array.html new file mode 100644 index 0000000..217cb81 --- /dev/null +++ b/doc/ref/variadic_to_array.html @@ -0,0 +1,32 @@ + + + BOOST_PP_VARIADIC_TO_ARRAY + + + +
    The BOOST_PP_VARIADIC_TO_ARRAY variadic macro +converts variadic data to an array.
    +

    Usage

    +
    BOOST_PP_VARIADIC_TO_ARRAY(...) (v)
    +
    +

    Arguments

    +
    +
    ...
    +
    The variadic data to be converted.
    +
    +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/variadic/to_array.hpp>

    #define VAR_DATA a, b, c

    BOOST_PP_VARIADIC_TO_ARRAY(VAR_DATA) // expands to (3, (a, b, c))
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/variadic_to_list.html b/doc/ref/variadic_to_list.html new file mode 100644 index 0000000..fa55ce6 --- /dev/null +++ b/doc/ref/variadic_to_list.html @@ -0,0 +1,31 @@ + + + BOOST_PP_VARIADIC_TO_LIST + + + +
    The BOOST_PP_VARIADIC_TO_LIST +variadic macro converts variadic data to a list.
    +

    Usage

    +
    BOOST_PP_VARIADIC_TO_LIST(...) (v)
    +
    +

    Arguments

    +
    ...
    +
    The variadic data to be converted.
    +
    +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/variadic/to_list.hpp>

    BOOST_PP_VARIADIC_TO_LIST(x, y, z)
    // expands to (x, (y, (z, BOOST_PP_NIL)))
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/variadic_to_seq.html b/doc/ref/variadic_to_seq.html new file mode 100644 index 0000000..529da0a --- /dev/null +++ b/doc/ref/variadic_to_seq.html @@ -0,0 +1,32 @@ + + + BOOST_PP_VARIADIC_TO_SEQ + + + +
    The BOOST_PP_VARIADIC_TO_SEQ variadic macro +converts a variadic data to a seq.
    +

    Usage

    +
    BOOST_PP_VARIADIC_TO_SEQ(...) (v)
    +
    +

    Arguments

    +
    ...
    +
    +
    The variadic data to be converted.
    +
    +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/variadic/to_seq.hpp>

    BOOST_PP_VARIADIC_TO_SEQ(a, b, c) // expands to (a)(b)(c)
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/variadic_to_tuple.html b/doc/ref/variadic_to_tuple.html new file mode 100644 index 0000000..968afdb --- /dev/null +++ b/doc/ref/variadic_to_tuple.html @@ -0,0 +1,32 @@ + + + BOOST_PP_VARIADIC_TO_TUPLE + + + +
    The BOOST_PP_VARIADIC_TO_TUPLE variadic macro +converts variadic data to a tuple.
    +

    Usage

    +
    BOOST_PP_VARIADIC_TO_TUPLE(...) (v)
    +

    Arguments

    +
    +
    ...
    +
    +
    The variadic data to be converted.
    +
    +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/variadic/to_tuple.hpp>

    #define VAR_DATA a, b, c

    BOOST_PP_VARIADIC_TO_TUPLE(VAR_DATA) // expands to (a, b, c)
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/variadics.html b/doc/ref/variadics.html new file mode 100644 index 0000000..3e40c1b --- /dev/null +++ b/doc/ref/variadics.html @@ -0,0 +1,30 @@ + + + BOOST_PP_VARIADICS + + + +
    The BOOST_PP_VARIADICS macro specifies whether variadic macro support exists.
    +
    +

    Usage

    +
    BOOST_PP_VARIADICS
    +
    Remarks +
    The macro is an object-like macro. It is used in internal +code to check for the presence of variadic macro support. It can be +used by the end-user for the same purpose. The macro equals 1 if +variadic macros are supported and 0 if they are not.
    Requirements + +

    Sample Code

    +
    +
    #include <boost/preprocessor/config/variadics.hpp>

    #if BOOST_PP_VARIADICS
    #define SOME_MACRO(...) // replacement list
    #else
    #define SOME_MACRO(param1,param2) // replacement list
    #endif
    +
    +
    +
    © Copyright Edward Diener 2011
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/syntax.html b/doc/syntax.html index 125e742..abc0b2a 100644 --- a/doc/syntax.html +++ b/doc/syntax.html @@ -1,9 +1,9 @@ - - syntax.html - - - + + syntax.html + + +

    Identifiers for Syntax Highlighting

    @@ -13,7 +13,8 @@
    BOOST_PP_APPLY
    BOOST_PP_ARRAY_DATA
    BOOST_PP_ARRAY_ELEM -
    BOOST_PP_ARRAY_INSERT +
    BOOST_PP_ARRAY_ENUM +
    BOOST_PP_ARRAY_INSERT
    BOOST_PP_ARRAY_INSERT_D
    BOOST_PP_ARRAY_POP_BACK
    BOOST_PP_ARRAY_POP_BACK_Z @@ -27,7 +28,10 @@
    BOOST_PP_ARRAY_REPLACE_D
    BOOST_PP_ARRAY_REVERSE
    BOOST_PP_ARRAY_SIZE -
    BOOST_PP_ASSERT +
    BOOST_PP_ARRAY_TO_LIST +
    BOOST_PP_ARRAY_TO_SEQ +
    BOOST_PP_ARRAY_TO_TUPLE +
    BOOST_PP_ASSERT
    BOOST_PP_ASSERT_MSG
    BOOST_PP_ASSIGN_SLOT @@ -131,7 +135,8 @@
    BOOST_PP_LIMIT_SLOT_COUNT
    BOOST_PP_LIMIT_SLOT_SIG
    BOOST_PP_LIMIT_TUPLE -
    BOOST_PP_LIMIT_WHILE +
    BOOST_PP_LIMIT_VARIADIC +
    BOOST_PP_LIMIT_WHILE
    BOOST_PP_LINE
    BOOST_PP_LIST_APPEND
    BOOST_PP_LIST_APPEND_D @@ -173,7 +178,9 @@
    BOOST_PP_LIST_REVERSE_D
    BOOST_PP_LIST_SIZE
    BOOST_PP_LIST_SIZE_D -
    BOOST_PP_LIST_TO_TUPLE +
    BOOST_PP_LIST_TO_ARRAY +
    BOOST_PP_LIST_TO_SEQ +
    BOOST_PP_LIST_TO_TUPLE
    BOOST_PP_LIST_TO_TUPLE_R
    BOOST_PP_LIST_TRANSFORM
    BOOST_PP_LIST_TRANSFORM_D @@ -199,7 +206,8 @@
    BOOST_PP_NOT_EQUAL_D
    BOOST_PP_OR - +
    BOOST_PP_OVERLOAD +
    BOOST_PP_RELATIVE_FINISH
    BOOST_PP_RELATIVE_FLAGS
    BOOST_PP_RELATIVE_ITERATION @@ -252,7 +260,8 @@
    BOOST_PP_SEQ_SUBSEQ
    BOOST_PP_SEQ_TAIL
    BOOST_PP_SEQ_TO_ARRAY -
    BOOST_PP_SEQ_TO_TUPLE +
    BOOST_PP_SEQ_TO_LIST +
    BOOST_PP_SEQ_TO_TUPLE
    BOOST_PP_SEQ_TRANSFORM
    BOOST_PP_SEQ_TRANSFORM_S
    BOOST_PP_SLOT @@ -262,23 +271,31 @@
    BOOST_PP_TUPLE_EAT
    BOOST_PP_TUPLE_ELEM -
    BOOST_PP_TUPLE_REM +
    BOOST_PP_TUPLE_ENUM +
    BOOST_PP_TUPLE_REM
    BOOST_PP_TUPLE_REM_CTOR
    BOOST_PP_TUPLE_REVERSE -
    BOOST_PP_TUPLE_TO_LIST +
    BOOST_PP_TUPLE_SIZE +
    BOOST_PP_TUPLE_TO_ARRAY +
    BOOST_PP_TUPLE_TO_LIST
    BOOST_PP_TUPLE_TO_SEQ
    BOOST_PP_UPDATE_COUNTER
    BOOST_PP_VALUE - +
    BOOST_PP_VARIADIC_ELEM +
    BOOST_PP_VARIADIC_SIZE +
    BOOST_PP_VARIADIC_TO_ARRAY +
    BOOST_PP_VARIADIC_TO_LIST +
    BOOST_PP_VARIADIC_TO_SEQ +
    BOOST_PP_VARIADIC_TO_TUPLE +
    BOOST_PP_WHILE
    BOOST_PP_WHILE_
    BOOST_PP_WSTRINGIZE
    BOOST_PP_XOR -
    - +
    - - - + + \ No newline at end of file diff --git a/doc/topics.html b/doc/topics.html index 6461b89..5826a58 100644 --- a/doc/topics.html +++ b/doc/topics.html @@ -1,6 +1,6 @@ - topics.html + topics.html @@ -8,15 +8,14 @@

    Topics [back]

    - - diff --git a/doc/topics/variadic_macros.html b/doc/topics/variadic_macros.html new file mode 100644 index 0000000..a1b079c --- /dev/null +++ b/doc/topics/variadic_macros.html @@ -0,0 +1,242 @@ + + + variadic_macros.html + + + + +

    Variadic Macros

    +
    Variadic macros are supported by a number of compilers. +They are +macros of the form: +
    +
    +
    #define SOME_MACRO(ZeroOrMoreParameters,...) macro expansion possible specifying __VA_ARGS__
    +
    +
    The '...' in the parameter list represents the variadic +data when the macro is invoked and the __VA_ARGS__ in the expansion +represents the variadic data in the expansion of the macro. Variadic +data is of the form of 1 or more preprocessor tokens separated by +commas.
    +
    +The '...' must be the last parameter in the macro definition and there +may be 0 or more non-variadic parameters preceding it.
    +
    +In the expansion of the macro __VA_ARGS__ may be specified 0 or more +times to represent the variadic data. The variadic data in the +expansion is a comma separated list of preprocessor tokens representing +the variadic data which the invoker of the macro enters as the last +arguments to the macro.
    +
    +

    Example - Creating and invoking a variadic macro.

    +
    +
    #define INITIALIZE_INT_ARRAY(array_name,...) \ 
    static int array_name[] = { __VA_ARGS__ }; \
    /**/

    INITIALIZE_INT_ARRAY(myname,45,789,33510,9346,2)
    +
    + Preprocessor +Library Support
    +
    +
    The library offers support for variadic macros for those +compilers +which support the feature. The library can automatically detect whether +a compiler supports variadic macros and sets the macro +BOOST_PP_VARIADICS accordingly to 1 if the compiler supports variadic +macros or 0 if the compiler does not support variadic macros.
    +
    +The end-user can #define BOOST_PP_VARIADICS to 1 or 0 himself in a +translation unit, before including any preprocessor header files, to +prevent the library from attempting to detect whether the compiler +supports variadic macros. This has the effect of manually turning on or +off variadic macro support in the library. Of course if one manually +turns on variadic macro support in the library, and one's compiler does +not support variadic macros, functionality in the library which uses +variadic macros will fail with error messages from the compiler.
    +
    +When BOOST_PP_VARIADICS is 1, the library offers some extended +functionality +by using variadic macros, and also offers extended support for working +with variadic data.
    +
    +Support for working with variadic +data is largely centered on being able to convert variadic data to +other library data types, since the +functionality for working with those Boost preprocessor library data +types is much greater than that for working with variadic data directly.
    +
    +

    Notation For Variadic Macros
    +

    +
    In the documentation, headers which have variadic macros, +and +variadic macros themselves, have a notation of '(v)' appended to them. +For the variadic macros themselves this signifies that +BOOST_PP_VARIADICS must be 1 for those variadic macros to be usable. +For variadic macros which have a non-variadic equivalent, the +non-variadic equivalent will be used if BOOST_PP_VARIADICS is set to 0 +and the non-variadic version of the +macro does not have a '(v)' appended to its name in the documentation. +
    +

    Extended Functionality Using Variadic Macros
    +

    +
    Some macros in the library offer extended +functionality through the use of variadic macros.
    +
    +The variadic macro version offers the same functionality +as the non-variadic version, but because of the ability of the variadic +parameters to encompass a variable number of arguments, it also offers +an enhanced syntax using the same macro name.
    +
    +The macros in the library which offer this enhanced functionality are +all +centered on tuple manipulation. With variadic +macros it is +possible to +manipulate tuples without having to know the size of the tuple. So +while the invoker can still specify the size when using tuple macro +functionality, there are variadic versions of each of the tuple macros, +with the exact same name as the non-variadic macro, where the size need +not be specified.
    +
    +

    Extended Support For Variadic Data

    +
    The library offers extended support for working with +variadic data +which goes beyond the functionality offered by the C++ specification +for variadic macros. It does this through preprocessor programming and +by using some of the other functionality in the library itself. Header +and macro names +in the library which offer extended support for working with variadic +data, and need the compiler to support variadic macros, are marked with +a (v) to indicate a variadic macro.
    +
    +The form of the functionality which the library offers is centered on +two macros which work with variadic data itself, and a set of macros +which convert between variadic data and other library data +types.
    +
    +The two macros are BOOST_PP_VARIADIC_ELEM and BOOST_PP_VARIADIC_SIZE, +which respectively return a particular token of variadic data and the +number of tokens of variadic data.
    +
    +The macros for converting variadic data to the library's data types are +BOOST_PP_VARIADIC_TO_ARRAY, BOOST_PP_VARIADIC_TO_LIST, +BOOST_PP_VARIADIC_TO_SEQ, and BOOST_PP_VARIADIC_TO_TUPLE.
    +
    +All of these macros need compiler support for variadic data and only +exist if BOOST_PP_VARIADICS is 1.
    +
    +The remaining four macros, which convert from a library data type +to comma-separated preprocessor tokens, which is the form of +variadic data, do not need compiler support for variadic +macros. These functions are BOOST_PP_ARRAY_ENUM, BOOST_PP_LIST_ENUM, +BOOST_PP_SEQ_ENUM, and BOOST_PP_TUPLE_ENUM. However if one wishes to +use this variadic data reliably as arguments to other macros, one needs +variadic macro support.
    +
    + Using Variadic Data +
    Variadic data exists in the +form of comma-separated preprocessor tokens. This is the case whether +the variadic data comes from the __VA_ARGS__ of a variadic macro, from +the conversion of a library's data type to variadic data, or the +manual construction of comma-separated preprocessing tokens by the +programmer writing a macro.
    +
    +The easiest way to work with +variadic data internally is to convert it to a library data type. +Library data types, whether an array, list, +sequence, +or tuple, have a rich set of functionality for +manipulating +data whereas +variadic data functionality in the library only allows one to access +the variadic data as a whole or to access a single token of the +variadic data at a time.
    +
    +The user of the library still may +choose to pass variadic data back into internal macros rather than +convert it to other library data types. There is no problem passing +variadic data as a whole to variadic macros as the last parameter of +the macro. However:
    +
    +Attempting to pass +variadic data as a +whole directly into a non-variadic macro is not guaranteed to work and +may fail.
    +

    +This occurs because of a preprocessor weakness in a number +of compilers, currently most notably Visual C++. Even passing variadic +data as arguments to a non-variadic macro, when it is not represented +in +the form of  __VA_ARGS__, may fail with certain compilers.
    +
    +What follows are very simple examples, showing how variadic data can be +passed to a non-variadic macro.
    +
    +First an example of what NOT to do.
    +
    +

    Example - Passing variadic data as a whole to a +non-variadic +macro. DO NOT DO.

    +
    +
    #define MACRO_ARG_2(x,y) BOOST_PP_ADD(x,y)
    #define VAR_MACRO(...) __VA_ARGS__

    /* The following should not be done and is not guaranteed to work with compilers. */

    int xx = MACRO_ARG_2(VAR_MACRO(2,3));
    +
    +
    There are two ways to pass variadic data to a non-variadic +macro. +The +first of these is to pass the individual tokens of the variadic data +separately to the non-variadic macro using the BOOST_PP_VARIADIC_ELEM +macro in the library.
    +
    +

    Example - Passing individual variadic data tokens to +a +non-variadic macro.
    +

    +
    +
    #define MACRO_ARG_2(x,y) BOOST_PP_ADD(x,y)
    #define VAR_MACRO(...) __VA_ARGS__

    /* The following will work correctly */

    int xx = MACRO_ARG_2
    (
    BOOST_PP_VARIADIC_ELEM(0,VAR_MACRO(2,3)),
    BOOST_PP_VARIADIC_ELEM(1,VAR_MACRO(2,3))
    );
    +
    +
    The second way is to use a macro in the library called +BOOST_PP_OVERLOAD. +This macro allows one to "overload" a variadic macro to non-variadic +macros of different numbers of parameters, using a common prefix. +
    +

    Example - Passing variadic data as a whole to +BOOST_PP_OVERLOAD +and on to a non-variadic macro.
    +

    +
    +
    #define MACRO_ARG_2(x,y) BOOST_PP_ADD(x,y)
    #define VAR_MACRO(...) __VA_ARGS__

    /* The following will work correctly */

    int xx = BOOST_PP_OVERLOAD(MACRO_ARG_,VAR_MACRO(2,3))(VAR_MACRO(2,3));

    /* For Visual C++ it is necessary to do this */

    int xx =
    BOOST_PP_CAT(BOOST_PP_OVERLOAD(MACRO_ARG_,VAR_MACRO(2,3))(VAR_MACRO(2,3)),BOOST_PP_EMPTY());
    +

    +
    Although these techniques will work when passing variadic +data to +non-variadic macros, it is much better and less problematical to +work internally with the existing library data types and to only use +variadic +macros as an interface for end-users when there is a need to have a +macro which takes a +variable number of parameters.
    +
    +See Also
    + +
    +
    © Copyright +Edward Diener +2011
    +
    +

    Distributed under the Boost Software License, +Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + \ No newline at end of file diff --git a/include/boost/preprocessor/array.hpp b/include/boost/preprocessor/array.hpp index 031827d..3b6a771 100644 --- a/include/boost/preprocessor/array.hpp +++ b/include/boost/preprocessor/array.hpp @@ -1,9 +1,10 @@ # /* ************************************************************************** # * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) +# * (C) Copyright Paul Mensonides 2002-2011. * +# * (C) Copyright Edward Diener 2011. * +# * 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) * # * * # ************************************************************************** */ # @@ -14,6 +15,7 @@ # # include # include +# include # include # include # include @@ -23,5 +25,8 @@ # include # include # include +# include +# include +# include # # endif diff --git a/include/boost/preprocessor/array/enum.hpp b/include/boost/preprocessor/array/enum.hpp new file mode 100644 index 0000000..9710f9c --- /dev/null +++ b/include/boost/preprocessor/array/enum.hpp @@ -0,0 +1,33 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_ENUM_HPP +# define BOOST_PREPROCESSOR_ARRAY_ENUM_HPP +# +# include +# include +# include +# +# /* BOOST_PP_ARRAY_ENUM */ +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_ARRAY_ENUM(array) BOOST_PP_ARRAY_ENUM_I(BOOST_PP_TUPLE_REM_CTOR, array) +# define BOOST_PP_ARRAY_ENUM_I(m, args) BOOST_PP_ARRAY_ENUM_II(m, args) +# define BOOST_PP_ARRAY_ENUM_II(m, args) BOOST_PP_CAT(m ## args,) +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_ARRAY_ENUM(array) BOOST_PP_ARRAY_ENUM_I(array) +# define BOOST_PP_ARRAY_ENUM_I(array) BOOST_PP_TUPLE_REM_CTOR ## array +# else +# define BOOST_PP_ARRAY_ENUM(array) BOOST_PP_TUPLE_REM_CTOR array +# endif +# +# endif diff --git a/include/boost/preprocessor/array/to_list.hpp b/include/boost/preprocessor/array/to_list.hpp new file mode 100644 index 0000000..9198561 --- /dev/null +++ b/include/boost/preprocessor/array/to_list.hpp @@ -0,0 +1,33 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_TO_LIST_HPP +# define BOOST_PREPROCESSOR_ARRAY_TO_LIST_HPP +# +# include +# include +# include +# +# /* BOOST_PP_ARRAY_TO_LIST */ +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_ARRAY_TO_LIST(array) BOOST_PP_ARRAY_TO_LIST_I(BOOST_PP_TUPLE_TO_LIST, array) +# define BOOST_PP_ARRAY_TO_LIST_I(m, args) BOOST_PP_ARRAY_TO_LIST_II(m, args) +# define BOOST_PP_ARRAY_TO_LIST_II(m, args) BOOST_PP_CAT(m ## args,) +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_ARRAY_TO_LIST(array) BOOST_PP_ARRAY_TO_LIST_I(array) +# define BOOST_PP_ARRAY_TO_LIST_I(array) BOOST_PP_TUPLE_TO_LIST ## array +# else +# define BOOST_PP_ARRAY_TO_LIST(array) BOOST_PP_TUPLE_TO_LIST array +# endif +# +# endif diff --git a/include/boost/preprocessor/array/to_seq.hpp b/include/boost/preprocessor/array/to_seq.hpp new file mode 100644 index 0000000..ebcae53 --- /dev/null +++ b/include/boost/preprocessor/array/to_seq.hpp @@ -0,0 +1,33 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_TO_SEQ_HPP +# define BOOST_PREPROCESSOR_ARRAY_TO_SEQ_HPP +# +# include +# include +# include +# +# /* BOOST_PP_ARRAY_TO_SEQ */ +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_ARRAY_TO_SEQ(array) BOOST_PP_ARRAY_TO_SEQ_I(BOOST_PP_TUPLE_TO_SEQ, array) +# define BOOST_PP_ARRAY_TO_SEQ_I(m, args) BOOST_PP_ARRAY_TO_SEQ_II(m, args) +# define BOOST_PP_ARRAY_TO_SEQ_II(m, args) BOOST_PP_CAT(m ## args,) +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_ARRAY_TO_SEQ(array) BOOST_PP_ARRAY_TO_SEQ_I(array) +# define BOOST_PP_ARRAY_TO_SEQ_I(array) BOOST_PP_TUPLE_TO_SEQ ## array +# else +# define BOOST_PP_ARRAY_TO_SEQ(array) BOOST_PP_TUPLE_TO_SEQ array +# endif +# +# endif diff --git a/include/boost/preprocessor/array/to_tuple.hpp b/include/boost/preprocessor/array/to_tuple.hpp new file mode 100644 index 0000000..eb83274 --- /dev/null +++ b/include/boost/preprocessor/array/to_tuple.hpp @@ -0,0 +1,22 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_TO_TUPLE_HPP +# define BOOST_PREPROCESSOR_ARRAY_TO_TUPLE_HPP +# +# include +# +# /* BOOST_PP_ARRAY_TO_TUPLE */ +# +# define BOOST_PP_ARRAY_TO_TUPLE BOOST_PP_ARRAY_DATA +# +# endif diff --git a/include/boost/preprocessor/cat.hpp b/include/boost/preprocessor/cat.hpp index b2a82c0..5e52850 100644 --- a/include/boost/preprocessor/cat.hpp +++ b/include/boost/preprocessor/cat.hpp @@ -28,8 +28,8 @@ # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() # define BOOST_PP_CAT_I(a, b) a ## b # else -# define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(a ## b) -# define BOOST_PP_CAT_II(res) res +# define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(~, a ## b) +# define BOOST_PP_CAT_II(p, res) res # endif # # endif diff --git a/include/boost/preprocessor/config/config.hpp b/include/boost/preprocessor/config/config.hpp index dd0f713..d02eb58 100644 --- a/include/boost/preprocessor/config/config.hpp +++ b/include/boost/preprocessor/config/config.hpp @@ -1,9 +1,10 @@ # /* ************************************************************************** # * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) +# * (C) Copyright Paul Mensonides 2002-2011. * +# * (C) Copyright Edward Diener 2011. * +# * 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) * # * * # ************************************************************************** */ # @@ -67,4 +68,38 @@ # endif # endif # +# /* BOOST_PP_VARIADICS */ +# +# if !defined BOOST_PP_VARIADICS +# /* variadic support explicitly disabled for all untested compilers */ +# if defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __clang__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC && !defined __EDG__ || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI +# define BOOST_PP_VARIADICS 0 +# /* VC++ (C/C++) */ +# elif defined _MSC_VER && _MSC_VER >= 1400 && !defined __EDG__ +# if _MSC_VER >= 1400 +# define BOOST_PP_VARIADICS 1 +# define BOOST_PP_VARIADICS_MSVC 1 +# else +# define BOOST_PP_VARIADICS 0 +# endif +# /* Wave (C/C++), GCC (C++) */ +# elif defined __WAVE__ && __WAVE_HAS_VARIADICS__ || defined __GNUC__ && __GXX_EXPERIMENTAL_CXX0X__ +# define BOOST_PP_VARIADICS 1 +# /* EDG-based (C/C++), GCC (C), and unknown (C/C++) */ +# elif !defined __cplusplus && __STDC_VERSION__ >= 199901L || __cplusplus >= 201103L +# define BOOST_PP_VARIADICS 1 +# else +# define BOOST_PP_VARIADICS 0 +# endif +# elif !BOOST_PP_VARIADICS + 1 < 2 +# undef BOOST_PP_VARIADICS +# define BOOST_PP_VARIADICS 1 +# if defined _MSC_VER && _MSC_VER >= 1400 && !(defined __EDG__ || defined __GCCXML__ || defined __CUDACC__ || defined __PATHSCALE__ || defined __clang__ || defined __DMC__ || defined __CODEGEARC__ || defined __BORLANDC__ || defined __MWERKS__ || defined __SUNPRO_CC || defined __HP_aCC || defined __MRC__ || defined __SC__ || defined __IBMCPP__ || defined __PGI) +# define BOOST_PP_VARIADICS_MSVC 1 +# endif +# else +# undef BOOST_PP_VARIADICS +# define BOOST_PP_VARIADICS 0 +# endif +# # endif diff --git a/include/boost/preprocessor/config/limits.hpp b/include/boost/preprocessor/config/limits.hpp index 5b4f06b..f312f29 100644 --- a/include/boost/preprocessor/config/limits.hpp +++ b/include/boost/preprocessor/config/limits.hpp @@ -8,6 +8,7 @@ # */ # # /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2011) */ # # /* See http://www.boost.org for most recent version. */ # @@ -15,7 +16,7 @@ # define BOOST_PREPROCESSOR_CONFIG_LIMITS_HPP # # define BOOST_PP_LIMIT_MAG 256 -# define BOOST_PP_LIMIT_TUPLE 25 +# define BOOST_PP_LIMIT_TUPLE 64 # define BOOST_PP_LIMIT_DIM 3 # define BOOST_PP_LIMIT_REPEAT 256 # define BOOST_PP_LIMIT_WHILE 256 diff --git a/include/boost/preprocessor/facilities.hpp b/include/boost/preprocessor/facilities.hpp index ec2de24..c20547c 100644 --- a/include/boost/preprocessor/facilities.hpp +++ b/include/boost/preprocessor/facilities.hpp @@ -1,9 +1,10 @@ # /* ************************************************************************** # * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) +# * (C) Copyright Paul Mensonides 2002-2011. * +# * (C) Copyright Edward Diener 2011. * +# * 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) * # * * # ************************************************************************** */ # @@ -17,5 +18,6 @@ # include # include # include +# include # # endif diff --git a/include/boost/preprocessor/facilities/overload.hpp b/include/boost/preprocessor/facilities/overload.hpp new file mode 100644 index 0000000..1576316 --- /dev/null +++ b/include/boost/preprocessor/facilities/overload.hpp @@ -0,0 +1,25 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2011. * +# * (C) Copyright Edward Diener 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP +# define BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP +# +# include +# include +# +# /* BOOST_PP_OVERLOAD */ +# +# if BOOST_PP_VARIADICS +# define BOOST_PP_OVERLOAD(prefix, ...) BOOST_PP_CAT(prefix, BOOST_PP_VARIADIC_SIZE(__VA_ARGS__)) +# endif +# +# endif diff --git a/include/boost/preprocessor/iteration/detail/iter/forward1.hpp b/include/boost/preprocessor/iteration/detail/iter/forward1.hpp index 3f41ba1..3c6a458 100644 --- a/include/boost/preprocessor/iteration/detail/iter/forward1.hpp +++ b/include/boost/preprocessor/iteration/detail/iter/forward1.hpp @@ -17,7 +17,7 @@ # include # define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) # include -# define BOOST_PP_ITERATION_FLAGS_1 0 +# define BOOST_PP_ITERATION_FLAGS_1() 0 # undef BOOST_PP_ITERATION_LIMITS # elif defined(BOOST_PP_ITERATION_PARAMS_1) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1) @@ -26,9 +26,9 @@ # include # define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1) # if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_1) >= 4 -# define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1) +# define BOOST_PP_ITERATION_FLAGS_1() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1) # else -# define BOOST_PP_ITERATION_FLAGS_1 0 +# define BOOST_PP_ITERATION_FLAGS_1() 0 # endif # else # error BOOST_PP_ERROR: depth #1 iteration boundaries or filename not defined diff --git a/include/boost/preprocessor/iteration/detail/iter/forward2.hpp b/include/boost/preprocessor/iteration/detail/iter/forward2.hpp index b689f63..e61a329 100644 --- a/include/boost/preprocessor/iteration/detail/iter/forward2.hpp +++ b/include/boost/preprocessor/iteration/detail/iter/forward2.hpp @@ -17,7 +17,7 @@ # include # define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) # include -# define BOOST_PP_ITERATION_FLAGS_2 0 +# define BOOST_PP_ITERATION_FLAGS_2() 0 # undef BOOST_PP_ITERATION_LIMITS # elif defined(BOOST_PP_ITERATION_PARAMS_2) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_2) @@ -26,9 +26,9 @@ # include # define BOOST_PP_FILENAME_2 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_2) # if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_2) >= 4 -# define BOOST_PP_ITERATION_FLAGS_2 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_2) +# define BOOST_PP_ITERATION_FLAGS_2() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_2) # else -# define BOOST_PP_ITERATION_FLAGS_2 0 +# define BOOST_PP_ITERATION_FLAGS_2() 0 # endif # else # error BOOST_PP_ERROR: depth #2 iteration boundaries or filename not defined diff --git a/include/boost/preprocessor/iteration/detail/iter/forward3.hpp b/include/boost/preprocessor/iteration/detail/iter/forward3.hpp index a25d0de..e68966f 100644 --- a/include/boost/preprocessor/iteration/detail/iter/forward3.hpp +++ b/include/boost/preprocessor/iteration/detail/iter/forward3.hpp @@ -17,7 +17,7 @@ # include # define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) # include -# define BOOST_PP_ITERATION_FLAGS_3 0 +# define BOOST_PP_ITERATION_FLAGS_3() 0 # undef BOOST_PP_ITERATION_LIMITS # elif defined(BOOST_PP_ITERATION_PARAMS_3) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_3) @@ -26,9 +26,9 @@ # include # define BOOST_PP_FILENAME_3 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_3) # if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_3) >= 4 -# define BOOST_PP_ITERATION_FLAGS_3 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_3) +# define BOOST_PP_ITERATION_FLAGS_3() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_3) # else -# define BOOST_PP_ITERATION_FLAGS_3 0 +# define BOOST_PP_ITERATION_FLAGS_3() 0 # endif # else # error BOOST_PP_ERROR: depth #3 iteration boundaries or filename not defined diff --git a/include/boost/preprocessor/iteration/detail/iter/forward4.hpp b/include/boost/preprocessor/iteration/detail/iter/forward4.hpp index 6a6e543..1b4f588 100644 --- a/include/boost/preprocessor/iteration/detail/iter/forward4.hpp +++ b/include/boost/preprocessor/iteration/detail/iter/forward4.hpp @@ -17,7 +17,7 @@ # include # define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) # include -# define BOOST_PP_ITERATION_FLAGS_4 0 +# define BOOST_PP_ITERATION_FLAGS_4() 0 # undef BOOST_PP_ITERATION_LIMITS # elif defined(BOOST_PP_ITERATION_PARAMS_4) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_4) @@ -26,9 +26,9 @@ # include # define BOOST_PP_FILENAME_4 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_4) # if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_4) >= 4 -# define BOOST_PP_ITERATION_FLAGS_4 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_4) +# define BOOST_PP_ITERATION_FLAGS_4() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_4) # else -# define BOOST_PP_ITERATION_FLAGS_4 0 +# define BOOST_PP_ITERATION_FLAGS_4() 0 # endif # else # error BOOST_PP_ERROR: depth #4 iteration boundaries or filename not defined diff --git a/include/boost/preprocessor/iteration/detail/iter/forward5.hpp b/include/boost/preprocessor/iteration/detail/iter/forward5.hpp index a16e207..7617607 100644 --- a/include/boost/preprocessor/iteration/detail/iter/forward5.hpp +++ b/include/boost/preprocessor/iteration/detail/iter/forward5.hpp @@ -17,7 +17,7 @@ # include # define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) # include -# define BOOST_PP_ITERATION_FLAGS_5 0 +# define BOOST_PP_ITERATION_FLAGS_5() 0 # undef BOOST_PP_ITERATION_LIMITS # elif defined(BOOST_PP_ITERATION_PARAMS_5) # define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_5) @@ -26,9 +26,9 @@ # include # define BOOST_PP_FILENAME_5 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_5) # if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_5) >= 4 -# define BOOST_PP_ITERATION_FLAGS_5 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_5) +# define BOOST_PP_ITERATION_FLAGS_5() BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_5) # else -# define BOOST_PP_ITERATION_FLAGS_5 0 +# define BOOST_PP_ITERATION_FLAGS_5() 0 # endif # else # error BOOST_PP_ERROR: depth #5 iteration boundaries or filename not defined diff --git a/include/boost/preprocessor/iteration/iterate.hpp b/include/boost/preprocessor/iteration/iterate.hpp index aa0af67..8f861e7 100644 --- a/include/boost/preprocessor/iteration/iterate.hpp +++ b/include/boost/preprocessor/iteration/iterate.hpp @@ -35,7 +35,7 @@ # # /* BOOST_PP_ITERATION_FLAGS */ # -# define BOOST_PP_ITERATION_FLAGS() (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, BOOST_PP_ITERATION_DEPTH())) +# define BOOST_PP_ITERATION_FLAGS() (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, BOOST_PP_ITERATION_DEPTH())()) # # /* BOOST_PP_FRAME_ITERATION */ # @@ -48,7 +48,7 @@ # # /* BOOST_PP_FRAME_FLAGS */ # -# define BOOST_PP_FRAME_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, i)) +# define BOOST_PP_FRAME_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, i)()) # # /* BOOST_PP_RELATIVE_ITERATION */ # @@ -67,7 +67,7 @@ # # /* BOOST_PP_RELATIVE_FLAGS */ # -# define BOOST_PP_RELATIVE_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FLAGS_)) +# define BOOST_PP_RELATIVE_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FLAGS_)()) # # /* BOOST_PP_ITERATE */ # diff --git a/include/boost/preprocessor/library.hpp b/include/boost/preprocessor/library.hpp index a089158..aa5b777 100644 --- a/include/boost/preprocessor/library.hpp +++ b/include/boost/preprocessor/library.hpp @@ -1,9 +1,10 @@ # /* ************************************************************************** # * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) +# * (C) Copyright Paul Mensonides 2002-2011. * +# * (C) Copyright Edward Diener 2011. * +# * 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) * # * * # ************************************************************************** */ # @@ -30,5 +31,6 @@ # include # include # include +# include # # endif diff --git a/include/boost/preprocessor/list.hpp b/include/boost/preprocessor/list.hpp index 444c8b7..ef592c2 100644 --- a/include/boost/preprocessor/list.hpp +++ b/include/boost/preprocessor/list.hpp @@ -29,6 +29,8 @@ # include # include # include +# include +# include # include # include # diff --git a/include/boost/preprocessor/list/to_array.hpp b/include/boost/preprocessor/list/to_array.hpp new file mode 100644 index 0000000..83f8a63 --- /dev/null +++ b/include/boost/preprocessor/list/to_array.hpp @@ -0,0 +1,123 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_TO_ARRAY_HPP +# define BOOST_PREPROCESSOR_LIST_TO_ARRAY_HPP +# +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_TO_ARRAY */ +# +# define BOOST_PP_LIST_TO_ARRAY(list) BOOST_PP_LIST_TO_ARRAY_I(BOOST_PP_WHILE, list) + +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_LIST_TO_ARRAY_I(w, list) \ + BOOST_PP_LIST_TO_ARRAY_II(((BOOST_PP_TUPLE_REM_CTOR( \ + 3, \ + w(BOOST_PP_LIST_TO_ARRAY_P, BOOST_PP_LIST_TO_ARRAY_O, (list, 1, (~))) \ + )))) \ + /**/ +# define BOOST_PP_LIST_TO_ARRAY_II(p) BOOST_PP_LIST_TO_ARRAY_II_B(p) +# define BOOST_PP_LIST_TO_ARRAY_II_B(p) BOOST_PP_LIST_TO_ARRAY_II_C ## p +# define BOOST_PP_LIST_TO_ARRAY_II_C(p) BOOST_PP_LIST_TO_ARRAY_III p +# else +# define BOOST_PP_LIST_TO_ARRAY_I(w, list) \ + BOOST_PP_LIST_TO_ARRAY_II(BOOST_PP_TUPLE_REM_CTOR( \ + 3, \ + w(BOOST_PP_LIST_TO_ARRAY_P, BOOST_PP_LIST_TO_ARRAY_O, (list, 1, (~))) \ + )) \ + /**/ +# define BOOST_PP_LIST_TO_ARRAY_II(im) BOOST_PP_LIST_TO_ARRAY_III(im) +# endif +# if BOOST_PP_VARIADICS +# define BOOST_PP_LIST_TO_ARRAY_III(list, size, tuple) (BOOST_PP_DEC(size), BOOST_PP_LIST_TO_ARRAY_IV tuple) +# define BOOST_PP_LIST_TO_ARRAY_IV(_, ...) (__VA_ARGS__) +# else +# define BOOST_PP_LIST_TO_ARRAY_III(list, size, tuple) (BOOST_PP_DEC(size), BOOST_PP_LIST_TO_ARRAY_IV_ ## size tuple) +# define BOOST_PP_LIST_TO_ARRAY_IV_2(_, e0) (e0) +# define BOOST_PP_LIST_TO_ARRAY_IV_3(_, e0, e1) (e0, e1) +# define BOOST_PP_LIST_TO_ARRAY_IV_4(_, e0, e1, e2) (e0, e1, e2) +# define BOOST_PP_LIST_TO_ARRAY_IV_5(_, e0, e1, e2, e3) (e0, e1, e2, e3) +# define BOOST_PP_LIST_TO_ARRAY_IV_6(_, e0, e1, e2, e3, e4) (e0, e1, e2, e3, e4) +# define BOOST_PP_LIST_TO_ARRAY_IV_7(_, e0, e1, e2, e3, e4, e5) (e0, e1, e2, e3, e4, e5) +# define BOOST_PP_LIST_TO_ARRAY_IV_8(_, e0, e1, e2, e3, e4, e5, e6) (e0, e1, e2, e3, e4, e5, e6) +# define BOOST_PP_LIST_TO_ARRAY_IV_9(_, e0, e1, e2, e3, e4, e5, e6, e7) (e0, e1, e2, e3, e4, e5, e6, e7) +# define BOOST_PP_LIST_TO_ARRAY_IV_10(_, e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, e1, e2, e3, e4, e5, e6, e7, e8) +# define BOOST_PP_LIST_TO_ARRAY_IV_11(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) +# define BOOST_PP_LIST_TO_ARRAY_IV_12(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) +# define BOOST_PP_LIST_TO_ARRAY_IV_13(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) +# define BOOST_PP_LIST_TO_ARRAY_IV_14(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) +# define BOOST_PP_LIST_TO_ARRAY_IV_15(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) +# define BOOST_PP_LIST_TO_ARRAY_IV_16(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) +# define BOOST_PP_LIST_TO_ARRAY_IV_17(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) +# define BOOST_PP_LIST_TO_ARRAY_IV_18(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) +# define BOOST_PP_LIST_TO_ARRAY_IV_19(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) +# define BOOST_PP_LIST_TO_ARRAY_IV_20(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) +# define BOOST_PP_LIST_TO_ARRAY_IV_21(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) +# define BOOST_PP_LIST_TO_ARRAY_IV_22(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) +# define BOOST_PP_LIST_TO_ARRAY_IV_23(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) +# define BOOST_PP_LIST_TO_ARRAY_IV_24(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) +# define BOOST_PP_LIST_TO_ARRAY_IV_25(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) +# define BOOST_PP_LIST_TO_ARRAY_IV_26(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) +# define BOOST_PP_LIST_TO_ARRAY_IV_27(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) +# define BOOST_PP_LIST_TO_ARRAY_IV_28(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) +# define BOOST_PP_LIST_TO_ARRAY_IV_29(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) +# define BOOST_PP_LIST_TO_ARRAY_IV_30(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) +# define BOOST_PP_LIST_TO_ARRAY_IV_31(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) +# define BOOST_PP_LIST_TO_ARRAY_IV_32(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) +# define BOOST_PP_LIST_TO_ARRAY_IV_33(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) +# define BOOST_PP_LIST_TO_ARRAY_IV_34(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) +# define BOOST_PP_LIST_TO_ARRAY_IV_35(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) +# define BOOST_PP_LIST_TO_ARRAY_IV_36(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) +# define BOOST_PP_LIST_TO_ARRAY_IV_37(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) +# define BOOST_PP_LIST_TO_ARRAY_IV_38(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) +# define BOOST_PP_LIST_TO_ARRAY_IV_39(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) +# define BOOST_PP_LIST_TO_ARRAY_IV_40(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) +# define BOOST_PP_LIST_TO_ARRAY_IV_41(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) +# define BOOST_PP_LIST_TO_ARRAY_IV_42(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) +# define BOOST_PP_LIST_TO_ARRAY_IV_43(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) +# define BOOST_PP_LIST_TO_ARRAY_IV_44(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) +# define BOOST_PP_LIST_TO_ARRAY_IV_45(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) +# define BOOST_PP_LIST_TO_ARRAY_IV_46(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) +# define BOOST_PP_LIST_TO_ARRAY_IV_47(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) +# define BOOST_PP_LIST_TO_ARRAY_IV_48(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) +# define BOOST_PP_LIST_TO_ARRAY_IV_49(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) +# define BOOST_PP_LIST_TO_ARRAY_IV_50(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) +# define BOOST_PP_LIST_TO_ARRAY_IV_51(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) +# define BOOST_PP_LIST_TO_ARRAY_IV_52(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) +# define BOOST_PP_LIST_TO_ARRAY_IV_53(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) +# define BOOST_PP_LIST_TO_ARRAY_IV_54(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) +# define BOOST_PP_LIST_TO_ARRAY_IV_55(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) +# define BOOST_PP_LIST_TO_ARRAY_IV_56(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) +# define BOOST_PP_LIST_TO_ARRAY_IV_57(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) +# define BOOST_PP_LIST_TO_ARRAY_IV_58(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) +# define BOOST_PP_LIST_TO_ARRAY_IV_59(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) +# define BOOST_PP_LIST_TO_ARRAY_IV_60(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) +# define BOOST_PP_LIST_TO_ARRAY_IV_61(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) +# define BOOST_PP_LIST_TO_ARRAY_IV_62(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) +# define BOOST_PP_LIST_TO_ARRAY_IV_63(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) +# define BOOST_PP_LIST_TO_ARRAY_IV_64(_, e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) +# endif +# define BOOST_PP_LIST_TO_ARRAY_P(d, state) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(3, 0, state)) +# define BOOST_PP_LIST_TO_ARRAY_O(d, state) BOOST_PP_LIST_TO_ARRAY_O_I state +# define BOOST_PP_LIST_TO_ARRAY_O_I(list, size, tuple) (BOOST_PP_LIST_REST(list), BOOST_PP_INC(size), (BOOST_PP_TUPLE_REM(size) tuple, BOOST_PP_LIST_FIRST(list))) +# +# /* BOOST_PP_LIST_TO_ARRAY_D */ +# +# define BOOST_PP_LIST_TO_ARRAY_D(d, list) BOOST_PP_LIST_TO_ARRAY_I(BOOST_PP_WHILE_ ## d, list) +# +# endif /* BOOST_PREPROCESSOR_LIST_TO_ARRAY_HPP */ diff --git a/include/boost/preprocessor/list/to_seq.hpp b/include/boost/preprocessor/list/to_seq.hpp new file mode 100644 index 0000000..7425907 --- /dev/null +++ b/include/boost/preprocessor/list/to_seq.hpp @@ -0,0 +1,32 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. +# * 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) +# * * +# ************************************************************************** */ +# +# /* Revised by Paul Mensonides (2011) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_TO_SEQ_HPP +# define BOOST_PREPROCESSOR_LIST_TO_SEQ_HPP +# +# include +# +# /* BOOST_PP_LIST_TO_SEQ */ +# +# define BOOST_PP_LIST_TO_SEQ(list) \ + BOOST_PP_LIST_FOR_EACH(BOOST_PP_LIST_TO_SEQ_MACRO, ~, list) \ + /**/ +# define BOOST_PP_LIST_TO_SEQ_MACRO(r, data, elem) (elem) +# +# /* BOOST_PP_LIST_TO_SEQ_R */ +# +# define BOOST_PP_LIST_TO_SEQ_R(r, list) \ + BOOST_PP_LIST_FOR_EACH_R(r, BOOST_PP_LIST_TO_SEQ_MACRO, ~, list) \ + /**/ +# +# endif /* BOOST_PREPROCESSOR_LIST_TO_SEQ_HPP */ diff --git a/include/boost/preprocessor/seq.hpp b/include/boost/preprocessor/seq.hpp index a26a471..6d78f43 100644 --- a/include/boost/preprocessor/seq.hpp +++ b/include/boost/preprocessor/seq.hpp @@ -1,9 +1,10 @@ # /* ************************************************************************** # * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) +# * (C) Copyright Paul Mensonides 2002-2011. * +# * (C) Copyright Edward Diener 2011. * +# * 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) * # * * # ************************************************************************** */ # @@ -35,6 +36,7 @@ # include # include # include +# include # include # include # diff --git a/include/boost/preprocessor/seq/detail/binary_transform.hpp b/include/boost/preprocessor/seq/detail/binary_transform.hpp new file mode 100644 index 0000000..373e8a5 --- /dev/null +++ b/include/boost/preprocessor/seq/detail/binary_transform.hpp @@ -0,0 +1,40 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SEQ_DETAIL_BINARY_TRANSFORM_HPP +# define BOOST_PREPROCESSOR_SEQ_DETAIL_BINARY_TRANSFORM_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_SEQ_BINARY_TRANSFORM */ +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_SEQ_BINARY_TRANSFORM(seq) BOOST_PP_SEQ_BINARY_TRANSFORM_I(, seq) +# define BOOST_PP_SEQ_BINARY_TRANSFORM_I(p, seq) BOOST_PP_SEQ_BINARY_TRANSFORM_II(p ## seq) +# define BOOST_PP_SEQ_BINARY_TRANSFORM_II(seq) BOOST_PP_SEQ_BINARY_TRANSFORM_III(seq) +# define BOOST_PP_SEQ_BINARY_TRANSFORM_III(seq) BOOST_PP_CAT(BOOST_PP_SEQ_BINARY_TRANSFORM_A seq, 0) +# else +# define BOOST_PP_SEQ_BINARY_TRANSFORM(seq) BOOST_PP_CAT(BOOST_PP_SEQ_BINARY_TRANSFORM_A seq, 0) +# endif +# if BOOST_PP_VARIADICS +# define BOOST_PP_SEQ_BINARY_TRANSFORM_A(...) (BOOST_PP_REM, __VA_ARGS__)() BOOST_PP_SEQ_BINARY_TRANSFORM_B +# define BOOST_PP_SEQ_BINARY_TRANSFORM_B(...) (BOOST_PP_REM, __VA_ARGS__)() BOOST_PP_SEQ_BINARY_TRANSFORM_A +# else +# define BOOST_PP_SEQ_BINARY_TRANSFORM_A(e) (BOOST_PP_REM, e)() BOOST_PP_SEQ_BINARY_TRANSFORM_B +# define BOOST_PP_SEQ_BINARY_TRANSFORM_B(e) (BOOST_PP_REM, e)() BOOST_PP_SEQ_BINARY_TRANSFORM_A +# endif +# define BOOST_PP_SEQ_BINARY_TRANSFORM_A0 (BOOST_PP_EAT, ?) +# define BOOST_PP_SEQ_BINARY_TRANSFORM_B0 (BOOST_PP_EAT, ?) +# +# endif diff --git a/include/boost/preprocessor/seq/to_list.hpp b/include/boost/preprocessor/seq/to_list.hpp new file mode 100644 index 0000000..fa0421b --- /dev/null +++ b/include/boost/preprocessor/seq/to_list.hpp @@ -0,0 +1,29 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2011. * +# * (C) Copyright Edward Diener 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SEQ_TO_LIST_HPP +# define BOOST_PREPROCESSOR_SEQ_TO_LIST_HPP +# +# include +# include +# include +# +# /* BOOST_PP_SEQ_TO_LIST */ +# +# define BOOST_PP_SEQ_TO_LIST(seq) BOOST_PP_SEQ_TO_LIST_I(BOOST_PP_SEQ_BINARY_TRANSFORM(seq)) +# define BOOST_PP_SEQ_TO_LIST_I(bseq) BOOST_PP_SEQ_TO_LIST_A bseq BOOST_PP_NIL BOOST_PP_SEQ_TO_LIST_B bseq +# define BOOST_PP_SEQ_TO_LIST_A(m, e) m(BOOST_PP_LPAREN() e BOOST_PP_COMMA() BOOST_PP_SEQ_TO_LIST_A_ID) +# define BOOST_PP_SEQ_TO_LIST_A_ID() BOOST_PP_SEQ_TO_LIST_A +# define BOOST_PP_SEQ_TO_LIST_B(m, e) m(BOOST_PP_RPAREN() BOOST_PP_SEQ_TO_LIST_B_ID) +# define BOOST_PP_SEQ_TO_LIST_B_ID() BOOST_PP_SEQ_TO_LIST_B +# +# endif diff --git a/include/boost/preprocessor/tuple.hpp b/include/boost/preprocessor/tuple.hpp index 4ffceff..0f4976b 100644 --- a/include/boost/preprocessor/tuple.hpp +++ b/include/boost/preprocessor/tuple.hpp @@ -8,6 +8,7 @@ # */ # # /* Revised by Paul Mensonides (2002) */ +# /* Revised by Edward Diener (2011) */ # # /* See http://www.boost.org for most recent version. */ # @@ -16,8 +17,11 @@ # # include # include +# include # include # include +# include +# include # include # include # diff --git a/include/boost/preprocessor/tuple/eat.hpp b/include/boost/preprocessor/tuple/eat.hpp index 82e8ffc..708015e 100644 --- a/include/boost/preprocessor/tuple/eat.hpp +++ b/include/boost/preprocessor/tuple/eat.hpp @@ -7,7 +7,8 @@ # * http://www.boost.org/LICENSE_1_0.txt) # */ # -# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Paul Mensonides (2002-2011) */ +# /* Revised by Edward Diener (2011) */ # # /* See http://www.boost.org for most recent version. */ # @@ -16,42 +17,90 @@ # # include # +# /* BOOST_PP_EAT */ +# +# if BOOST_PP_VARIADICS +# define BOOST_PP_EAT(...) +# else +# define BOOST_PP_EAT(x) +# endif +# # /* BOOST_PP_TUPLE_EAT */ # -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_I(size) +# if BOOST_PP_VARIADICS +# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_EAT # else -# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_OO((size)) -# define BOOST_PP_TUPLE_EAT_OO(par) BOOST_PP_TUPLE_EAT_I ## par +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_I(size) +# else +# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_OO((size)) +# define BOOST_PP_TUPLE_EAT_OO(par) BOOST_PP_TUPLE_EAT_I ## par +# endif +# define BOOST_PP_TUPLE_EAT_I(size) BOOST_PP_TUPLE_EAT_ ## size # endif -# -# define BOOST_PP_TUPLE_EAT_I(size) BOOST_PP_TUPLE_EAT_ ## size -# -# define BOOST_PP_TUPLE_EAT_0() -# define BOOST_PP_TUPLE_EAT_1(a) -# define BOOST_PP_TUPLE_EAT_2(a, b) -# define BOOST_PP_TUPLE_EAT_3(a, b, c) -# define BOOST_PP_TUPLE_EAT_4(a, b, c, d) -# define BOOST_PP_TUPLE_EAT_5(a, b, c, d, e) -# define BOOST_PP_TUPLE_EAT_6(a, b, c, d, e, f) -# define BOOST_PP_TUPLE_EAT_7(a, b, c, d, e, f, g) -# define BOOST_PP_TUPLE_EAT_8(a, b, c, d, e, f, g, h) -# define BOOST_PP_TUPLE_EAT_9(a, b, c, d, e, f, g, h, i) -# define BOOST_PP_TUPLE_EAT_10(a, b, c, d, e, f, g, h, i, j) -# define BOOST_PP_TUPLE_EAT_11(a, b, c, d, e, f, g, h, i, j, k) -# define BOOST_PP_TUPLE_EAT_12(a, b, c, d, e, f, g, h, i, j, k, l) -# define BOOST_PP_TUPLE_EAT_13(a, b, c, d, e, f, g, h, i, j, k, l, m) -# define BOOST_PP_TUPLE_EAT_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) -# define BOOST_PP_TUPLE_EAT_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -# define BOOST_PP_TUPLE_EAT_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) -# define BOOST_PP_TUPLE_EAT_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) -# define BOOST_PP_TUPLE_EAT_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) -# define BOOST_PP_TUPLE_EAT_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) -# define BOOST_PP_TUPLE_EAT_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) -# define BOOST_PP_TUPLE_EAT_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) -# define BOOST_PP_TUPLE_EAT_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) -# define BOOST_PP_TUPLE_EAT_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) -# define BOOST_PP_TUPLE_EAT_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) -# define BOOST_PP_TUPLE_EAT_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) +# define BOOST_PP_TUPLE_EAT_1(e0) +# define BOOST_PP_TUPLE_EAT_2(e0, e1) +# define BOOST_PP_TUPLE_EAT_3(e0, e1, e2) +# define BOOST_PP_TUPLE_EAT_4(e0, e1, e2, e3) +# define BOOST_PP_TUPLE_EAT_5(e0, e1, e2, e3, e4) +# define BOOST_PP_TUPLE_EAT_6(e0, e1, e2, e3, e4, e5) +# define BOOST_PP_TUPLE_EAT_7(e0, e1, e2, e3, e4, e5, e6) +# define BOOST_PP_TUPLE_EAT_8(e0, e1, e2, e3, e4, e5, e6, e7) +# define BOOST_PP_TUPLE_EAT_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) +# define BOOST_PP_TUPLE_EAT_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) +# define BOOST_PP_TUPLE_EAT_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) +# define BOOST_PP_TUPLE_EAT_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) +# define BOOST_PP_TUPLE_EAT_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) +# define BOOST_PP_TUPLE_EAT_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) +# define BOOST_PP_TUPLE_EAT_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) +# define BOOST_PP_TUPLE_EAT_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) +# define BOOST_PP_TUPLE_EAT_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) +# define BOOST_PP_TUPLE_EAT_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) +# define BOOST_PP_TUPLE_EAT_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) +# define BOOST_PP_TUPLE_EAT_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) +# define BOOST_PP_TUPLE_EAT_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) +# define BOOST_PP_TUPLE_EAT_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) +# define BOOST_PP_TUPLE_EAT_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) +# define BOOST_PP_TUPLE_EAT_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) +# define BOOST_PP_TUPLE_EAT_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) +# define BOOST_PP_TUPLE_EAT_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) +# define BOOST_PP_TUPLE_EAT_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) +# define BOOST_PP_TUPLE_EAT_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) +# define BOOST_PP_TUPLE_EAT_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) +# define BOOST_PP_TUPLE_EAT_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) +# define BOOST_PP_TUPLE_EAT_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) +# define BOOST_PP_TUPLE_EAT_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) +# define BOOST_PP_TUPLE_EAT_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) +# define BOOST_PP_TUPLE_EAT_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) +# define BOOST_PP_TUPLE_EAT_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) +# define BOOST_PP_TUPLE_EAT_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) +# define BOOST_PP_TUPLE_EAT_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) +# define BOOST_PP_TUPLE_EAT_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) +# define BOOST_PP_TUPLE_EAT_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) +# define BOOST_PP_TUPLE_EAT_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) +# define BOOST_PP_TUPLE_EAT_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) +# define BOOST_PP_TUPLE_EAT_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) +# define BOOST_PP_TUPLE_EAT_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) +# define BOOST_PP_TUPLE_EAT_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) +# define BOOST_PP_TUPLE_EAT_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) +# define BOOST_PP_TUPLE_EAT_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) +# define BOOST_PP_TUPLE_EAT_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) +# define BOOST_PP_TUPLE_EAT_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) +# define BOOST_PP_TUPLE_EAT_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) +# define BOOST_PP_TUPLE_EAT_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) +# define BOOST_PP_TUPLE_EAT_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) +# define BOOST_PP_TUPLE_EAT_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) +# define BOOST_PP_TUPLE_EAT_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) +# define BOOST_PP_TUPLE_EAT_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) +# define BOOST_PP_TUPLE_EAT_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) +# define BOOST_PP_TUPLE_EAT_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) +# define BOOST_PP_TUPLE_EAT_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) +# define BOOST_PP_TUPLE_EAT_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) +# define BOOST_PP_TUPLE_EAT_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) +# define BOOST_PP_TUPLE_EAT_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) +# define BOOST_PP_TUPLE_EAT_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) +# define BOOST_PP_TUPLE_EAT_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) +# define BOOST_PP_TUPLE_EAT_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) +# define BOOST_PP_TUPLE_EAT_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) # # endif diff --git a/include/boost/preprocessor/tuple/elem.hpp b/include/boost/preprocessor/tuple/elem.hpp index 2e225ae..3eba1c5 100644 --- a/include/boost/preprocessor/tuple/elem.hpp +++ b/include/boost/preprocessor/tuple/elem.hpp @@ -7,30 +7,177 @@ # * http://www.boost.org/LICENSE_1_0.txt) # */ # -# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Paul Mensonides (2002-2011) */ +# /* Revised by Edward Diener (2011) */ # # /* See http://www.boost.org for most recent version. */ # # ifndef BOOST_PREPROCESSOR_TUPLE_ELEM_HPP # define BOOST_PREPROCESSOR_TUPLE_ELEM_HPP # +# include # include +# include +# include +# include # -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_ELEM(size, index, tuple) BOOST_PP_TUPLE_ELEM_I(size, index, tuple) +# if BOOST_PP_VARIADICS +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__), (__VA_ARGS__)) +# define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args) +# define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,) +# else +# define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__)(__VA_ARGS__) +# endif +# define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_REM tuple) +# define BOOST_PP_TUPLE_ELEM_O_3(size, n, tuple) BOOST_PP_TUPLE_ELEM_O_2(n, tuple) # else -# define BOOST_PP_TUPLE_ELEM(size, index, tuple) BOOST_PP_TUPLE_ELEM_OO((size, index, tuple)) -# define BOOST_PP_TUPLE_ELEM_OO(par) BOOST_PP_TUPLE_ELEM_I ## par +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_, n), BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_E_, size), tuple)) +# define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args) +# define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,) +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I_OO((size, n, tuple)) +# define BOOST_PP_TUPLE_ELEM_I_OO(par) BOOST_PP_TUPLE_ELEM_I ## par +# define BOOST_PP_TUPLE_ELEM_I(size, n, tuple) BOOST_PP_TUPLE_ELEM_II((n, BOOST_PP_TUPLE_ELEM_E_ ## size ## tuple)) +# define BOOST_PP_TUPLE_ELEM_II(par) BOOST_PP_TUPLE_ELEM_III_OO(par) +# define BOOST_PP_TUPLE_ELEM_III_OO(par) BOOST_PP_TUPLE_ELEM_III ## par +# define BOOST_PP_TUPLE_ELEM_III(n, etuple) BOOST_PP_TUPLE_ELEM_ ## n ## etuple +# else +# define BOOST_PP_TUPLE_ELEM(size, n, tuple) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_, n) BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM_E_, size) tuple) +# define BOOST_PP_TUPLE_ELEM_I(x) x +# endif +# define BOOST_PP_TUPLE_ELEM_E_1(e0) (e0, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_2(e0, e1) (e0, e1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_3(e0, e1, e2) (e0, e1, e2, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_4(e0, e1, e2, e3) (e0, e1, e2, e3, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_5(e0, e1, e2, e3, e4) (e0, e1, e2, e3, e4, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_6(e0, e1, e2, e3, e4, e5) (e0, e1, e2, e3, e4, e5, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_7(e0, e1, e2, e3, e4, e5, e6) (e0, e1, e2, e3, e4, e5, e6, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, e1, e2, e3, e4, e5, e6, e7, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, e1, e2, e3, e4, e5, e6, e7, e8, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ?, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ?, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ?, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ?, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ?, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ?, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ?, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ?, ?) +# define BOOST_PP_TUPLE_ELEM_E_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ?) +# define BOOST_PP_TUPLE_ELEM_E_64 +# define BOOST_PP_TUPLE_ELEM_0(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0 +# define BOOST_PP_TUPLE_ELEM_1(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e1 +# define BOOST_PP_TUPLE_ELEM_2(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e2 +# define BOOST_PP_TUPLE_ELEM_3(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e3 +# define BOOST_PP_TUPLE_ELEM_4(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e4 +# define BOOST_PP_TUPLE_ELEM_5(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e5 +# define BOOST_PP_TUPLE_ELEM_6(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e6 +# define BOOST_PP_TUPLE_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e7 +# define BOOST_PP_TUPLE_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e8 +# define BOOST_PP_TUPLE_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e9 +# define BOOST_PP_TUPLE_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e10 +# define BOOST_PP_TUPLE_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e11 +# define BOOST_PP_TUPLE_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e12 +# define BOOST_PP_TUPLE_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e13 +# define BOOST_PP_TUPLE_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e14 +# define BOOST_PP_TUPLE_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e15 +# define BOOST_PP_TUPLE_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e16 +# define BOOST_PP_TUPLE_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e17 +# define BOOST_PP_TUPLE_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e18 +# define BOOST_PP_TUPLE_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e19 +# define BOOST_PP_TUPLE_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e20 +# define BOOST_PP_TUPLE_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e21 +# define BOOST_PP_TUPLE_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e22 +# define BOOST_PP_TUPLE_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e23 +# define BOOST_PP_TUPLE_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e24 +# define BOOST_PP_TUPLE_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e25 +# define BOOST_PP_TUPLE_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e26 +# define BOOST_PP_TUPLE_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e27 +# define BOOST_PP_TUPLE_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e28 +# define BOOST_PP_TUPLE_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e29 +# define BOOST_PP_TUPLE_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e30 +# define BOOST_PP_TUPLE_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e31 +# define BOOST_PP_TUPLE_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e32 +# define BOOST_PP_TUPLE_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e33 +# define BOOST_PP_TUPLE_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e34 +# define BOOST_PP_TUPLE_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e35 +# define BOOST_PP_TUPLE_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e36 +# define BOOST_PP_TUPLE_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e37 +# define BOOST_PP_TUPLE_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e38 +# define BOOST_PP_TUPLE_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e39 +# define BOOST_PP_TUPLE_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e40 +# define BOOST_PP_TUPLE_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e41 +# define BOOST_PP_TUPLE_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e42 +# define BOOST_PP_TUPLE_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e43 +# define BOOST_PP_TUPLE_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e44 +# define BOOST_PP_TUPLE_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e45 +# define BOOST_PP_TUPLE_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e46 +# define BOOST_PP_TUPLE_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e47 +# define BOOST_PP_TUPLE_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e48 +# define BOOST_PP_TUPLE_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e49 +# define BOOST_PP_TUPLE_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e50 +# define BOOST_PP_TUPLE_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e51 +# define BOOST_PP_TUPLE_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e52 +# define BOOST_PP_TUPLE_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e53 +# define BOOST_PP_TUPLE_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e54 +# define BOOST_PP_TUPLE_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e55 +# define BOOST_PP_TUPLE_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e56 +# define BOOST_PP_TUPLE_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e57 +# define BOOST_PP_TUPLE_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e58 +# define BOOST_PP_TUPLE_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e59 +# define BOOST_PP_TUPLE_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e60 +# define BOOST_PP_TUPLE_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e61 +# define BOOST_PP_TUPLE_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e62 +# define BOOST_PP_TUPLE_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e63 # endif # -# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_ ## s ## _ ## i ## t -# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_II(BOOST_PP_TUPLE_ELEM_ ## s ## _ ## i t) -# define BOOST_PP_TUPLE_ELEM_II(res) res -# else -# define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_ ## s ## _ ## i t -# endif +# /* directly used elsewhere in Boost... */ # # define BOOST_PP_TUPLE_ELEM_1_0(a) a # @@ -41,345 +188,4 @@ # define BOOST_PP_TUPLE_ELEM_3_1(a, b, c) b # define BOOST_PP_TUPLE_ELEM_3_2(a, b, c) c # -# define BOOST_PP_TUPLE_ELEM_4_0(a, b, c, d) a -# define BOOST_PP_TUPLE_ELEM_4_1(a, b, c, d) b -# define BOOST_PP_TUPLE_ELEM_4_2(a, b, c, d) c -# define BOOST_PP_TUPLE_ELEM_4_3(a, b, c, d) d -# -# define BOOST_PP_TUPLE_ELEM_5_0(a, b, c, d, e) a -# define BOOST_PP_TUPLE_ELEM_5_1(a, b, c, d, e) b -# define BOOST_PP_TUPLE_ELEM_5_2(a, b, c, d, e) c -# define BOOST_PP_TUPLE_ELEM_5_3(a, b, c, d, e) d -# define BOOST_PP_TUPLE_ELEM_5_4(a, b, c, d, e) e -# -# define BOOST_PP_TUPLE_ELEM_6_0(a, b, c, d, e, f) a -# define BOOST_PP_TUPLE_ELEM_6_1(a, b, c, d, e, f) b -# define BOOST_PP_TUPLE_ELEM_6_2(a, b, c, d, e, f) c -# define BOOST_PP_TUPLE_ELEM_6_3(a, b, c, d, e, f) d -# define BOOST_PP_TUPLE_ELEM_6_4(a, b, c, d, e, f) e -# define BOOST_PP_TUPLE_ELEM_6_5(a, b, c, d, e, f) f -# -# define BOOST_PP_TUPLE_ELEM_7_0(a, b, c, d, e, f, g) a -# define BOOST_PP_TUPLE_ELEM_7_1(a, b, c, d, e, f, g) b -# define BOOST_PP_TUPLE_ELEM_7_2(a, b, c, d, e, f, g) c -# define BOOST_PP_TUPLE_ELEM_7_3(a, b, c, d, e, f, g) d -# define BOOST_PP_TUPLE_ELEM_7_4(a, b, c, d, e, f, g) e -# define BOOST_PP_TUPLE_ELEM_7_5(a, b, c, d, e, f, g) f -# define BOOST_PP_TUPLE_ELEM_7_6(a, b, c, d, e, f, g) g -# -# define BOOST_PP_TUPLE_ELEM_8_0(a, b, c, d, e, f, g, h) a -# define BOOST_PP_TUPLE_ELEM_8_1(a, b, c, d, e, f, g, h) b -# define BOOST_PP_TUPLE_ELEM_8_2(a, b, c, d, e, f, g, h) c -# define BOOST_PP_TUPLE_ELEM_8_3(a, b, c, d, e, f, g, h) d -# define BOOST_PP_TUPLE_ELEM_8_4(a, b, c, d, e, f, g, h) e -# define BOOST_PP_TUPLE_ELEM_8_5(a, b, c, d, e, f, g, h) f -# define BOOST_PP_TUPLE_ELEM_8_6(a, b, c, d, e, f, g, h) g -# define BOOST_PP_TUPLE_ELEM_8_7(a, b, c, d, e, f, g, h) h -# -# define BOOST_PP_TUPLE_ELEM_9_0(a, b, c, d, e, f, g, h, i) a -# define BOOST_PP_TUPLE_ELEM_9_1(a, b, c, d, e, f, g, h, i) b -# define BOOST_PP_TUPLE_ELEM_9_2(a, b, c, d, e, f, g, h, i) c -# define BOOST_PP_TUPLE_ELEM_9_3(a, b, c, d, e, f, g, h, i) d -# define BOOST_PP_TUPLE_ELEM_9_4(a, b, c, d, e, f, g, h, i) e -# define BOOST_PP_TUPLE_ELEM_9_5(a, b, c, d, e, f, g, h, i) f -# define BOOST_PP_TUPLE_ELEM_9_6(a, b, c, d, e, f, g, h, i) g -# define BOOST_PP_TUPLE_ELEM_9_7(a, b, c, d, e, f, g, h, i) h -# define BOOST_PP_TUPLE_ELEM_9_8(a, b, c, d, e, f, g, h, i) i -# -# define BOOST_PP_TUPLE_ELEM_10_0(a, b, c, d, e, f, g, h, i, j) a -# define BOOST_PP_TUPLE_ELEM_10_1(a, b, c, d, e, f, g, h, i, j) b -# define BOOST_PP_TUPLE_ELEM_10_2(a, b, c, d, e, f, g, h, i, j) c -# define BOOST_PP_TUPLE_ELEM_10_3(a, b, c, d, e, f, g, h, i, j) d -# define BOOST_PP_TUPLE_ELEM_10_4(a, b, c, d, e, f, g, h, i, j) e -# define BOOST_PP_TUPLE_ELEM_10_5(a, b, c, d, e, f, g, h, i, j) f -# define BOOST_PP_TUPLE_ELEM_10_6(a, b, c, d, e, f, g, h, i, j) g -# define BOOST_PP_TUPLE_ELEM_10_7(a, b, c, d, e, f, g, h, i, j) h -# define BOOST_PP_TUPLE_ELEM_10_8(a, b, c, d, e, f, g, h, i, j) i -# define BOOST_PP_TUPLE_ELEM_10_9(a, b, c, d, e, f, g, h, i, j) j -# -# define BOOST_PP_TUPLE_ELEM_11_0(a, b, c, d, e, f, g, h, i, j, k) a -# define BOOST_PP_TUPLE_ELEM_11_1(a, b, c, d, e, f, g, h, i, j, k) b -# define BOOST_PP_TUPLE_ELEM_11_2(a, b, c, d, e, f, g, h, i, j, k) c -# define BOOST_PP_TUPLE_ELEM_11_3(a, b, c, d, e, f, g, h, i, j, k) d -# define BOOST_PP_TUPLE_ELEM_11_4(a, b, c, d, e, f, g, h, i, j, k) e -# define BOOST_PP_TUPLE_ELEM_11_5(a, b, c, d, e, f, g, h, i, j, k) f -# define BOOST_PP_TUPLE_ELEM_11_6(a, b, c, d, e, f, g, h, i, j, k) g -# define BOOST_PP_TUPLE_ELEM_11_7(a, b, c, d, e, f, g, h, i, j, k) h -# define BOOST_PP_TUPLE_ELEM_11_8(a, b, c, d, e, f, g, h, i, j, k) i -# define BOOST_PP_TUPLE_ELEM_11_9(a, b, c, d, e, f, g, h, i, j, k) j -# define BOOST_PP_TUPLE_ELEM_11_10(a, b, c, d, e, f, g, h, i, j, k) k -# -# define BOOST_PP_TUPLE_ELEM_12_0(a, b, c, d, e, f, g, h, i, j, k, l) a -# define BOOST_PP_TUPLE_ELEM_12_1(a, b, c, d, e, f, g, h, i, j, k, l) b -# define BOOST_PP_TUPLE_ELEM_12_2(a, b, c, d, e, f, g, h, i, j, k, l) c -# define BOOST_PP_TUPLE_ELEM_12_3(a, b, c, d, e, f, g, h, i, j, k, l) d -# define BOOST_PP_TUPLE_ELEM_12_4(a, b, c, d, e, f, g, h, i, j, k, l) e -# define BOOST_PP_TUPLE_ELEM_12_5(a, b, c, d, e, f, g, h, i, j, k, l) f -# define BOOST_PP_TUPLE_ELEM_12_6(a, b, c, d, e, f, g, h, i, j, k, l) g -# define BOOST_PP_TUPLE_ELEM_12_7(a, b, c, d, e, f, g, h, i, j, k, l) h -# define BOOST_PP_TUPLE_ELEM_12_8(a, b, c, d, e, f, g, h, i, j, k, l) i -# define BOOST_PP_TUPLE_ELEM_12_9(a, b, c, d, e, f, g, h, i, j, k, l) j -# define BOOST_PP_TUPLE_ELEM_12_10(a, b, c, d, e, f, g, h, i, j, k, l) k -# define BOOST_PP_TUPLE_ELEM_12_11(a, b, c, d, e, f, g, h, i, j, k, l) l -# -# define BOOST_PP_TUPLE_ELEM_13_0(a, b, c, d, e, f, g, h, i, j, k, l, m) a -# define BOOST_PP_TUPLE_ELEM_13_1(a, b, c, d, e, f, g, h, i, j, k, l, m) b -# define BOOST_PP_TUPLE_ELEM_13_2(a, b, c, d, e, f, g, h, i, j, k, l, m) c -# define BOOST_PP_TUPLE_ELEM_13_3(a, b, c, d, e, f, g, h, i, j, k, l, m) d -# define BOOST_PP_TUPLE_ELEM_13_4(a, b, c, d, e, f, g, h, i, j, k, l, m) e -# define BOOST_PP_TUPLE_ELEM_13_5(a, b, c, d, e, f, g, h, i, j, k, l, m) f -# define BOOST_PP_TUPLE_ELEM_13_6(a, b, c, d, e, f, g, h, i, j, k, l, m) g -# define BOOST_PP_TUPLE_ELEM_13_7(a, b, c, d, e, f, g, h, i, j, k, l, m) h -# define BOOST_PP_TUPLE_ELEM_13_8(a, b, c, d, e, f, g, h, i, j, k, l, m) i -# define BOOST_PP_TUPLE_ELEM_13_9(a, b, c, d, e, f, g, h, i, j, k, l, m) j -# define BOOST_PP_TUPLE_ELEM_13_10(a, b, c, d, e, f, g, h, i, j, k, l, m) k -# define BOOST_PP_TUPLE_ELEM_13_11(a, b, c, d, e, f, g, h, i, j, k, l, m) l -# define BOOST_PP_TUPLE_ELEM_13_12(a, b, c, d, e, f, g, h, i, j, k, l, m) m -# -# define BOOST_PP_TUPLE_ELEM_14_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n) a -# define BOOST_PP_TUPLE_ELEM_14_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n) b -# define BOOST_PP_TUPLE_ELEM_14_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n) c -# define BOOST_PP_TUPLE_ELEM_14_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n) d -# define BOOST_PP_TUPLE_ELEM_14_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n) e -# define BOOST_PP_TUPLE_ELEM_14_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n) f -# define BOOST_PP_TUPLE_ELEM_14_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n) g -# define BOOST_PP_TUPLE_ELEM_14_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n) h -# define BOOST_PP_TUPLE_ELEM_14_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n) i -# define BOOST_PP_TUPLE_ELEM_14_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n) j -# define BOOST_PP_TUPLE_ELEM_14_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n) k -# define BOOST_PP_TUPLE_ELEM_14_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n) l -# define BOOST_PP_TUPLE_ELEM_14_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n) m -# define BOOST_PP_TUPLE_ELEM_14_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) n -# -# define BOOST_PP_TUPLE_ELEM_15_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) a -# define BOOST_PP_TUPLE_ELEM_15_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) b -# define BOOST_PP_TUPLE_ELEM_15_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) c -# define BOOST_PP_TUPLE_ELEM_15_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) d -# define BOOST_PP_TUPLE_ELEM_15_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) e -# define BOOST_PP_TUPLE_ELEM_15_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) f -# define BOOST_PP_TUPLE_ELEM_15_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) g -# define BOOST_PP_TUPLE_ELEM_15_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) h -# define BOOST_PP_TUPLE_ELEM_15_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) i -# define BOOST_PP_TUPLE_ELEM_15_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) j -# define BOOST_PP_TUPLE_ELEM_15_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) k -# define BOOST_PP_TUPLE_ELEM_15_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) l -# define BOOST_PP_TUPLE_ELEM_15_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) m -# define BOOST_PP_TUPLE_ELEM_15_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) n -# define BOOST_PP_TUPLE_ELEM_15_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) o -# -# define BOOST_PP_TUPLE_ELEM_16_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) a -# define BOOST_PP_TUPLE_ELEM_16_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) b -# define BOOST_PP_TUPLE_ELEM_16_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) c -# define BOOST_PP_TUPLE_ELEM_16_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) d -# define BOOST_PP_TUPLE_ELEM_16_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) e -# define BOOST_PP_TUPLE_ELEM_16_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) f -# define BOOST_PP_TUPLE_ELEM_16_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) g -# define BOOST_PP_TUPLE_ELEM_16_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) h -# define BOOST_PP_TUPLE_ELEM_16_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) i -# define BOOST_PP_TUPLE_ELEM_16_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) j -# define BOOST_PP_TUPLE_ELEM_16_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) k -# define BOOST_PP_TUPLE_ELEM_16_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) l -# define BOOST_PP_TUPLE_ELEM_16_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) m -# define BOOST_PP_TUPLE_ELEM_16_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) n -# define BOOST_PP_TUPLE_ELEM_16_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) o -# define BOOST_PP_TUPLE_ELEM_16_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) p -# -# define BOOST_PP_TUPLE_ELEM_17_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) a -# define BOOST_PP_TUPLE_ELEM_17_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) b -# define BOOST_PP_TUPLE_ELEM_17_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) c -# define BOOST_PP_TUPLE_ELEM_17_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) d -# define BOOST_PP_TUPLE_ELEM_17_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) e -# define BOOST_PP_TUPLE_ELEM_17_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) f -# define BOOST_PP_TUPLE_ELEM_17_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) g -# define BOOST_PP_TUPLE_ELEM_17_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) h -# define BOOST_PP_TUPLE_ELEM_17_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) i -# define BOOST_PP_TUPLE_ELEM_17_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) j -# define BOOST_PP_TUPLE_ELEM_17_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) k -# define BOOST_PP_TUPLE_ELEM_17_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) l -# define BOOST_PP_TUPLE_ELEM_17_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) m -# define BOOST_PP_TUPLE_ELEM_17_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) n -# define BOOST_PP_TUPLE_ELEM_17_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) o -# define BOOST_PP_TUPLE_ELEM_17_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) p -# define BOOST_PP_TUPLE_ELEM_17_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) q -# -# define BOOST_PP_TUPLE_ELEM_18_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) a -# define BOOST_PP_TUPLE_ELEM_18_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) b -# define BOOST_PP_TUPLE_ELEM_18_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) c -# define BOOST_PP_TUPLE_ELEM_18_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) d -# define BOOST_PP_TUPLE_ELEM_18_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) e -# define BOOST_PP_TUPLE_ELEM_18_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) f -# define BOOST_PP_TUPLE_ELEM_18_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) g -# define BOOST_PP_TUPLE_ELEM_18_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) h -# define BOOST_PP_TUPLE_ELEM_18_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) i -# define BOOST_PP_TUPLE_ELEM_18_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) j -# define BOOST_PP_TUPLE_ELEM_18_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) k -# define BOOST_PP_TUPLE_ELEM_18_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) l -# define BOOST_PP_TUPLE_ELEM_18_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) m -# define BOOST_PP_TUPLE_ELEM_18_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) n -# define BOOST_PP_TUPLE_ELEM_18_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) o -# define BOOST_PP_TUPLE_ELEM_18_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) p -# define BOOST_PP_TUPLE_ELEM_18_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) q -# define BOOST_PP_TUPLE_ELEM_18_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) r -# -# define BOOST_PP_TUPLE_ELEM_19_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) a -# define BOOST_PP_TUPLE_ELEM_19_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) b -# define BOOST_PP_TUPLE_ELEM_19_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) c -# define BOOST_PP_TUPLE_ELEM_19_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) d -# define BOOST_PP_TUPLE_ELEM_19_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) e -# define BOOST_PP_TUPLE_ELEM_19_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) f -# define BOOST_PP_TUPLE_ELEM_19_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) g -# define BOOST_PP_TUPLE_ELEM_19_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) h -# define BOOST_PP_TUPLE_ELEM_19_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) i -# define BOOST_PP_TUPLE_ELEM_19_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) j -# define BOOST_PP_TUPLE_ELEM_19_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) k -# define BOOST_PP_TUPLE_ELEM_19_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) l -# define BOOST_PP_TUPLE_ELEM_19_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) m -# define BOOST_PP_TUPLE_ELEM_19_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) n -# define BOOST_PP_TUPLE_ELEM_19_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) o -# define BOOST_PP_TUPLE_ELEM_19_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) p -# define BOOST_PP_TUPLE_ELEM_19_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) q -# define BOOST_PP_TUPLE_ELEM_19_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) r -# define BOOST_PP_TUPLE_ELEM_19_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) s -# -# define BOOST_PP_TUPLE_ELEM_20_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) a -# define BOOST_PP_TUPLE_ELEM_20_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) b -# define BOOST_PP_TUPLE_ELEM_20_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) c -# define BOOST_PP_TUPLE_ELEM_20_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) d -# define BOOST_PP_TUPLE_ELEM_20_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) e -# define BOOST_PP_TUPLE_ELEM_20_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) f -# define BOOST_PP_TUPLE_ELEM_20_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) g -# define BOOST_PP_TUPLE_ELEM_20_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) h -# define BOOST_PP_TUPLE_ELEM_20_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) i -# define BOOST_PP_TUPLE_ELEM_20_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) j -# define BOOST_PP_TUPLE_ELEM_20_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) k -# define BOOST_PP_TUPLE_ELEM_20_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) l -# define BOOST_PP_TUPLE_ELEM_20_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) m -# define BOOST_PP_TUPLE_ELEM_20_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) n -# define BOOST_PP_TUPLE_ELEM_20_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) o -# define BOOST_PP_TUPLE_ELEM_20_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) p -# define BOOST_PP_TUPLE_ELEM_20_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) q -# define BOOST_PP_TUPLE_ELEM_20_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) r -# define BOOST_PP_TUPLE_ELEM_20_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) s -# define BOOST_PP_TUPLE_ELEM_20_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) t -# -# define BOOST_PP_TUPLE_ELEM_21_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) a -# define BOOST_PP_TUPLE_ELEM_21_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) b -# define BOOST_PP_TUPLE_ELEM_21_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) c -# define BOOST_PP_TUPLE_ELEM_21_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) d -# define BOOST_PP_TUPLE_ELEM_21_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) e -# define BOOST_PP_TUPLE_ELEM_21_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) f -# define BOOST_PP_TUPLE_ELEM_21_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) g -# define BOOST_PP_TUPLE_ELEM_21_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) h -# define BOOST_PP_TUPLE_ELEM_21_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) i -# define BOOST_PP_TUPLE_ELEM_21_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) j -# define BOOST_PP_TUPLE_ELEM_21_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) k -# define BOOST_PP_TUPLE_ELEM_21_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) l -# define BOOST_PP_TUPLE_ELEM_21_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) m -# define BOOST_PP_TUPLE_ELEM_21_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) n -# define BOOST_PP_TUPLE_ELEM_21_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) o -# define BOOST_PP_TUPLE_ELEM_21_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) p -# define BOOST_PP_TUPLE_ELEM_21_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) q -# define BOOST_PP_TUPLE_ELEM_21_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) r -# define BOOST_PP_TUPLE_ELEM_21_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) s -# define BOOST_PP_TUPLE_ELEM_21_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) t -# define BOOST_PP_TUPLE_ELEM_21_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) u -# -# define BOOST_PP_TUPLE_ELEM_22_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) a -# define BOOST_PP_TUPLE_ELEM_22_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) b -# define BOOST_PP_TUPLE_ELEM_22_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) c -# define BOOST_PP_TUPLE_ELEM_22_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) d -# define BOOST_PP_TUPLE_ELEM_22_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) e -# define BOOST_PP_TUPLE_ELEM_22_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) f -# define BOOST_PP_TUPLE_ELEM_22_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) g -# define BOOST_PP_TUPLE_ELEM_22_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) h -# define BOOST_PP_TUPLE_ELEM_22_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) i -# define BOOST_PP_TUPLE_ELEM_22_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) j -# define BOOST_PP_TUPLE_ELEM_22_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) k -# define BOOST_PP_TUPLE_ELEM_22_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) l -# define BOOST_PP_TUPLE_ELEM_22_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) m -# define BOOST_PP_TUPLE_ELEM_22_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) n -# define BOOST_PP_TUPLE_ELEM_22_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) o -# define BOOST_PP_TUPLE_ELEM_22_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) p -# define BOOST_PP_TUPLE_ELEM_22_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) q -# define BOOST_PP_TUPLE_ELEM_22_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) r -# define BOOST_PP_TUPLE_ELEM_22_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) s -# define BOOST_PP_TUPLE_ELEM_22_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) t -# define BOOST_PP_TUPLE_ELEM_22_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) u -# define BOOST_PP_TUPLE_ELEM_22_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) v -# -# define BOOST_PP_TUPLE_ELEM_23_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) a -# define BOOST_PP_TUPLE_ELEM_23_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) b -# define BOOST_PP_TUPLE_ELEM_23_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) c -# define BOOST_PP_TUPLE_ELEM_23_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) d -# define BOOST_PP_TUPLE_ELEM_23_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) e -# define BOOST_PP_TUPLE_ELEM_23_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) f -# define BOOST_PP_TUPLE_ELEM_23_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) g -# define BOOST_PP_TUPLE_ELEM_23_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) h -# define BOOST_PP_TUPLE_ELEM_23_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) i -# define BOOST_PP_TUPLE_ELEM_23_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) j -# define BOOST_PP_TUPLE_ELEM_23_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) k -# define BOOST_PP_TUPLE_ELEM_23_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) l -# define BOOST_PP_TUPLE_ELEM_23_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) m -# define BOOST_PP_TUPLE_ELEM_23_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) n -# define BOOST_PP_TUPLE_ELEM_23_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) o -# define BOOST_PP_TUPLE_ELEM_23_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) p -# define BOOST_PP_TUPLE_ELEM_23_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) q -# define BOOST_PP_TUPLE_ELEM_23_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) r -# define BOOST_PP_TUPLE_ELEM_23_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) s -# define BOOST_PP_TUPLE_ELEM_23_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) t -# define BOOST_PP_TUPLE_ELEM_23_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) u -# define BOOST_PP_TUPLE_ELEM_23_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) v -# define BOOST_PP_TUPLE_ELEM_23_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) w -# -# define BOOST_PP_TUPLE_ELEM_24_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) a -# define BOOST_PP_TUPLE_ELEM_24_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) b -# define BOOST_PP_TUPLE_ELEM_24_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) c -# define BOOST_PP_TUPLE_ELEM_24_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) d -# define BOOST_PP_TUPLE_ELEM_24_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) e -# define BOOST_PP_TUPLE_ELEM_24_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) f -# define BOOST_PP_TUPLE_ELEM_24_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) g -# define BOOST_PP_TUPLE_ELEM_24_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) h -# define BOOST_PP_TUPLE_ELEM_24_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) i -# define BOOST_PP_TUPLE_ELEM_24_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) j -# define BOOST_PP_TUPLE_ELEM_24_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) k -# define BOOST_PP_TUPLE_ELEM_24_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) l -# define BOOST_PP_TUPLE_ELEM_24_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) m -# define BOOST_PP_TUPLE_ELEM_24_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) n -# define BOOST_PP_TUPLE_ELEM_24_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) o -# define BOOST_PP_TUPLE_ELEM_24_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) p -# define BOOST_PP_TUPLE_ELEM_24_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) q -# define BOOST_PP_TUPLE_ELEM_24_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) r -# define BOOST_PP_TUPLE_ELEM_24_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) s -# define BOOST_PP_TUPLE_ELEM_24_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) t -# define BOOST_PP_TUPLE_ELEM_24_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) u -# define BOOST_PP_TUPLE_ELEM_24_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) v -# define BOOST_PP_TUPLE_ELEM_24_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) w -# define BOOST_PP_TUPLE_ELEM_24_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) x -# -# define BOOST_PP_TUPLE_ELEM_25_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) a -# define BOOST_PP_TUPLE_ELEM_25_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) b -# define BOOST_PP_TUPLE_ELEM_25_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) c -# define BOOST_PP_TUPLE_ELEM_25_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) d -# define BOOST_PP_TUPLE_ELEM_25_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) e -# define BOOST_PP_TUPLE_ELEM_25_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) f -# define BOOST_PP_TUPLE_ELEM_25_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) g -# define BOOST_PP_TUPLE_ELEM_25_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) h -# define BOOST_PP_TUPLE_ELEM_25_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) i -# define BOOST_PP_TUPLE_ELEM_25_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) j -# define BOOST_PP_TUPLE_ELEM_25_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) k -# define BOOST_PP_TUPLE_ELEM_25_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) l -# define BOOST_PP_TUPLE_ELEM_25_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) m -# define BOOST_PP_TUPLE_ELEM_25_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) n -# define BOOST_PP_TUPLE_ELEM_25_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) o -# define BOOST_PP_TUPLE_ELEM_25_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) p -# define BOOST_PP_TUPLE_ELEM_25_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) q -# define BOOST_PP_TUPLE_ELEM_25_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) r -# define BOOST_PP_TUPLE_ELEM_25_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) s -# define BOOST_PP_TUPLE_ELEM_25_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) t -# define BOOST_PP_TUPLE_ELEM_25_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) u -# define BOOST_PP_TUPLE_ELEM_25_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) v -# define BOOST_PP_TUPLE_ELEM_25_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) w -# define BOOST_PP_TUPLE_ELEM_25_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) x -# define BOOST_PP_TUPLE_ELEM_25_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) y -# # endif diff --git a/include/boost/preprocessor/tuple/enum.hpp b/include/boost/preprocessor/tuple/enum.hpp new file mode 100644 index 0000000..4915831 --- /dev/null +++ b/include/boost/preprocessor/tuple/enum.hpp @@ -0,0 +1,22 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_ENUM_HPP +# define BOOST_PREPROCESSOR_TUPLE_ENUM_HPP +# +# include +# +# /* BOOST_PP_TUPLE_ENUM */ +# +# define BOOST_PP_TUPLE_ENUM BOOST_PP_TUPLE_REM_CTOR +# +# endif diff --git a/include/boost/preprocessor/tuple/rem.hpp b/include/boost/preprocessor/tuple/rem.hpp index 9b76df9..4e3362c 100644 --- a/include/boost/preprocessor/tuple/rem.hpp +++ b/include/boost/preprocessor/tuple/rem.hpp @@ -1,9 +1,10 @@ # /* ************************************************************************** # * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) +# * (C) Copyright Paul Mensonides 2002-2011. * +# * (C) Copyright Edward Diener 2011. * +# * 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) * # * * # ************************************************************************** */ # @@ -12,61 +13,122 @@ # ifndef BOOST_PREPROCESSOR_TUPLE_REM_HPP # define BOOST_PREPROCESSOR_TUPLE_REM_HPP # +# include # include +# include +# +# /* BOOST_PP_REM */ +# +# if BOOST_PP_VARIADICS +# define BOOST_PP_REM(...) __VA_ARGS__ +# else +# define BOOST_PP_REM(x) x +# endif # # /* BOOST_PP_TUPLE_REM */ # -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_I(size) +# if BOOST_PP_VARIADICS +# define BOOST_PP_TUPLE_REM(size) BOOST_PP_REM # else -# define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_OO((size)) -# define BOOST_PP_TUPLE_REM_OO(par) BOOST_PP_TUPLE_REM_I ## par +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_I(size) +# else +# define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_OO((size)) +# define BOOST_PP_TUPLE_REM_OO(par) BOOST_PP_TUPLE_REM_I ## par +# endif +# define BOOST_PP_TUPLE_REM_I(size) BOOST_PP_TUPLE_REM_ ## size # endif -# -# define BOOST_PP_TUPLE_REM_I(size) BOOST_PP_TUPLE_REM_ ## size -# -# define BOOST_PP_TUPLE_REM_0() -# define BOOST_PP_TUPLE_REM_1(a) a -# define BOOST_PP_TUPLE_REM_2(a, b) a, b -# define BOOST_PP_TUPLE_REM_3(a, b, c) a, b, c -# define BOOST_PP_TUPLE_REM_4(a, b, c, d) a, b, c, d -# define BOOST_PP_TUPLE_REM_5(a, b, c, d, e) a, b, c, d, e -# define BOOST_PP_TUPLE_REM_6(a, b, c, d, e, f) a, b, c, d, e, f -# define BOOST_PP_TUPLE_REM_7(a, b, c, d, e, f, g) a, b, c, d, e, f, g -# define BOOST_PP_TUPLE_REM_8(a, b, c, d, e, f, g, h) a, b, c, d, e, f, g, h -# define BOOST_PP_TUPLE_REM_9(a, b, c, d, e, f, g, h, i) a, b, c, d, e, f, g, h, i -# define BOOST_PP_TUPLE_REM_10(a, b, c, d, e, f, g, h, i, j) a, b, c, d, e, f, g, h, i, j -# define BOOST_PP_TUPLE_REM_11(a, b, c, d, e, f, g, h, i, j, k) a, b, c, d, e, f, g, h, i, j, k -# define BOOST_PP_TUPLE_REM_12(a, b, c, d, e, f, g, h, i, j, k, l) a, b, c, d, e, f, g, h, i, j, k, l -# define BOOST_PP_TUPLE_REM_13(a, b, c, d, e, f, g, h, i, j, k, l, m) a, b, c, d, e, f, g, h, i, j, k, l, m -# define BOOST_PP_TUPLE_REM_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) a, b, c, d, e, f, g, h, i, j, k, l, m, n -# define BOOST_PP_TUPLE_REM_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o -# define BOOST_PP_TUPLE_REM_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p -# define BOOST_PP_TUPLE_REM_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q -# define BOOST_PP_TUPLE_REM_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r -# define BOOST_PP_TUPLE_REM_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s -# define BOOST_PP_TUPLE_REM_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t -# define BOOST_PP_TUPLE_REM_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u -# define BOOST_PP_TUPLE_REM_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v -# define BOOST_PP_TUPLE_REM_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w -# define BOOST_PP_TUPLE_REM_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x -# define BOOST_PP_TUPLE_REM_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y +# define BOOST_PP_TUPLE_REM_1(e0) e0 +# define BOOST_PP_TUPLE_REM_2(e0, e1) e0, e1 +# define BOOST_PP_TUPLE_REM_3(e0, e1, e2) e0, e1, e2 +# define BOOST_PP_TUPLE_REM_4(e0, e1, e2, e3) e0, e1, e2, e3 +# define BOOST_PP_TUPLE_REM_5(e0, e1, e2, e3, e4) e0, e1, e2, e3, e4 +# define BOOST_PP_TUPLE_REM_6(e0, e1, e2, e3, e4, e5) e0, e1, e2, e3, e4, e5 +# define BOOST_PP_TUPLE_REM_7(e0, e1, e2, e3, e4, e5, e6) e0, e1, e2, e3, e4, e5, e6 +# define BOOST_PP_TUPLE_REM_8(e0, e1, e2, e3, e4, e5, e6, e7) e0, e1, e2, e3, e4, e5, e6, e7 +# define BOOST_PP_TUPLE_REM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) e0, e1, e2, e3, e4, e5, e6, e7, e8 +# define BOOST_PP_TUPLE_REM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9 +# define BOOST_PP_TUPLE_REM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10 +# define BOOST_PP_TUPLE_REM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11 +# define BOOST_PP_TUPLE_REM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12 +# define BOOST_PP_TUPLE_REM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13 +# define BOOST_PP_TUPLE_REM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14 +# define BOOST_PP_TUPLE_REM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15 +# define BOOST_PP_TUPLE_REM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16 +# define BOOST_PP_TUPLE_REM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17 +# define BOOST_PP_TUPLE_REM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18 +# define BOOST_PP_TUPLE_REM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19 +# define BOOST_PP_TUPLE_REM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20 +# define BOOST_PP_TUPLE_REM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21 +# define BOOST_PP_TUPLE_REM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22 +# define BOOST_PP_TUPLE_REM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23 +# define BOOST_PP_TUPLE_REM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24 +# define BOOST_PP_TUPLE_REM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25 +# define BOOST_PP_TUPLE_REM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26 +# define BOOST_PP_TUPLE_REM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27 +# define BOOST_PP_TUPLE_REM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28 +# define BOOST_PP_TUPLE_REM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29 +# define BOOST_PP_TUPLE_REM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30 +# define BOOST_PP_TUPLE_REM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31 +# define BOOST_PP_TUPLE_REM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32 +# define BOOST_PP_TUPLE_REM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33 +# define BOOST_PP_TUPLE_REM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34 +# define BOOST_PP_TUPLE_REM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35 +# define BOOST_PP_TUPLE_REM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36 +# define BOOST_PP_TUPLE_REM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37 +# define BOOST_PP_TUPLE_REM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38 +# define BOOST_PP_TUPLE_REM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39 +# define BOOST_PP_TUPLE_REM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40 +# define BOOST_PP_TUPLE_REM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41 +# define BOOST_PP_TUPLE_REM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42 +# define BOOST_PP_TUPLE_REM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43 +# define BOOST_PP_TUPLE_REM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44 +# define BOOST_PP_TUPLE_REM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45 +# define BOOST_PP_TUPLE_REM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46 +# define BOOST_PP_TUPLE_REM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47 +# define BOOST_PP_TUPLE_REM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48 +# define BOOST_PP_TUPLE_REM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49 +# define BOOST_PP_TUPLE_REM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50 +# define BOOST_PP_TUPLE_REM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51 +# define BOOST_PP_TUPLE_REM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52 +# define BOOST_PP_TUPLE_REM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53 +# define BOOST_PP_TUPLE_REM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54 +# define BOOST_PP_TUPLE_REM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55 +# define BOOST_PP_TUPLE_REM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56 +# define BOOST_PP_TUPLE_REM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57 +# define BOOST_PP_TUPLE_REM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58 +# define BOOST_PP_TUPLE_REM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59 +# define BOOST_PP_TUPLE_REM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60 +# define BOOST_PP_TUPLE_REM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61 +# define BOOST_PP_TUPLE_REM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62 +# define BOOST_PP_TUPLE_REM_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63 # # /* BOOST_PP_TUPLE_REM_CTOR */ # -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() -# define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple) +# if BOOST_PP_VARIADICS +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__), (__VA_ARGS__)) +# define BOOST_PP_TUPLE_REM_CTOR_I(m, args) BOOST_PP_TUPLE_REM_CTOR_II(m, args) +# define BOOST_PP_TUPLE_REM_CTOR_II(m, args) BOOST_PP_CAT(m ## args,) +# else +# define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__)(__VA_ARGS__) +# endif +# define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_REM tuple +# define BOOST_PP_TUPLE_REM_CTOR_O_2(size, tuple) BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) # else -# define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_D(size, tuple) -# define BOOST_PP_TUPLE_REM_CTOR_D(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple) -# endif -# -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) ext tuple -# else -# define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) BOOST_PP_TUPLE_REM_CTOR_OO((ext, tuple)) -# define BOOST_PP_TUPLE_REM_CTOR_OO(par) BOOST_PP_TUPLE_REM_CTOR_II ## par -# define BOOST_PP_TUPLE_REM_CTOR_II(ext, tuple) ext ## tuple +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple) +# else +# define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_D(size, tuple) +# define BOOST_PP_TUPLE_REM_CTOR_D(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple) +# endif +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) ext tuple +# else +# define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) BOOST_PP_TUPLE_REM_CTOR_OO((ext, tuple)) +# define BOOST_PP_TUPLE_REM_CTOR_OO(par) BOOST_PP_TUPLE_REM_CTOR_II ## par +# define BOOST_PP_TUPLE_REM_CTOR_II(ext, tuple) ext ## tuple +# endif # endif # # endif diff --git a/include/boost/preprocessor/tuple/reverse.hpp b/include/boost/preprocessor/tuple/reverse.hpp index 42f48f2..c4f263a 100644 --- a/include/boost/preprocessor/tuple/reverse.hpp +++ b/include/boost/preprocessor/tuple/reverse.hpp @@ -7,56 +7,108 @@ # * http://www.boost.org/LICENSE_1_0.txt) # */ # -# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Paul Mensonides (2002-2011) */ +# /* Revised by Edward Diener (2011) */ # # /* See http://www.boost.org for most recent version. */ # # ifndef BOOST_PREPROCESSOR_TUPLE_REVERSE_HPP # define BOOST_PREPROCESSOR_TUPLE_REVERSE_HPP # +# include # include +# include # # /* BOOST_PP_TUPLE_REVERSE */ # -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_TUPLE_REVERSE_I(size, tuple) -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_ ## s t +# if BOOST_PP_VARIADICS +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_TUPLE_REVERSE(...) BOOST_PP_TUPLE_REVERSE_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REVERSE_O_, __VA_ARGS__), (__VA_ARGS__)) +# define BOOST_PP_TUPLE_REVERSE_I(m, args) BOOST_PP_TUPLE_REVERSE_II(m, args) +# define BOOST_PP_TUPLE_REVERSE_II(m, args) BOOST_PP_CAT(m ## args,) # else -# define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_II(BOOST_PP_TUPLE_REVERSE_ ## s t) -# define BOOST_PP_TUPLE_REVERSE_II(res) res +# define BOOST_PP_TUPLE_REVERSE(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REVERSE_O_, __VA_ARGS__)(__VA_ARGS__) # endif +# define BOOST_PP_TUPLE_REVERSE_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_REVERSE_, BOOST_PP_VARIADIC_SIZE tuple) tuple +# define BOOST_PP_TUPLE_REVERSE_O_2(size, tuple) BOOST_PP_TUPLE_REVERSE_O_1(tuple) # else -# define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_TUPLE_REVERSE_OO((size, tuple)) -# define BOOST_PP_TUPLE_REVERSE_OO(par) BOOST_PP_TUPLE_REVERSE_I ## par -# define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_ ## s ## t +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_TUPLE_REVERSE_I(size, tuple) +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_ ## s t +# else +# define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_II(BOOST_PP_TUPLE_REVERSE_ ## s t) +# define BOOST_PP_TUPLE_REVERSE_II(res) res +# endif +# else +# define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_TUPLE_REVERSE_OO((size, tuple)) +# define BOOST_PP_TUPLE_REVERSE_OO(par) BOOST_PP_TUPLE_REVERSE_I ## par +# define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_ ## s ## t +# endif # endif -# -# define BOOST_PP_TUPLE_REVERSE_0() () -# define BOOST_PP_TUPLE_REVERSE_1(a) (a) -# define BOOST_PP_TUPLE_REVERSE_2(a, b) (b, a) -# define BOOST_PP_TUPLE_REVERSE_3(a, b, c) (c, b, a) -# define BOOST_PP_TUPLE_REVERSE_4(a, b, c, d) (d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_5(a, b, c, d, e) (e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_6(a, b, c, d, e, f) (f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_7(a, b, c, d, e, f, g) (g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_8(a, b, c, d, e, f, g, h) (h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_9(a, b, c, d, e, f, g, h, i) (i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_10(a, b, c, d, e, f, g, h, i, j) (j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_11(a, b, c, d, e, f, g, h, i, j, k) (k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_12(a, b, c, d, e, f, g, h, i, j, k, l) (l, k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_13(a, b, c, d, e, f, g, h, i, j, k, l, m) (m, l, k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) (n, m, l, k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) (o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) (p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) (q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) (r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) (s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) (t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) (u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) (v, u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) (w, v, u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) (x, w, v, u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) -# define BOOST_PP_TUPLE_REVERSE_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) (y, x, w, v, u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_1(e0) (e0) +# define BOOST_PP_TUPLE_REVERSE_2(e0, e1) (e1, e0) +# define BOOST_PP_TUPLE_REVERSE_3(e0, e1, e2) (e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_4(e0, e1, e2, e3) (e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_5(e0, e1, e2, e3, e4) (e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_6(e0, e1, e2, e3, e4, e5) (e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_7(e0, e1, e2, e3, e4, e5, e6) (e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_8(e0, e1, e2, e3, e4, e5, e6, e7) (e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e58, e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e59, e58, e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e60, e59, e58, e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e61, e60, e59, e58, e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e62, e61, e60, e59, e58, e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) +# define BOOST_PP_TUPLE_REVERSE_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) (e63, e62, e61, e60, e59, e58, e57, e56, e55, e54, e53, e52, e51, e50, e49, e48, e47, e46, e45, e44, e43, e42, e41, e40, e39, e38, e37, e36, e35, e34, e33, e32, e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0) # # endif diff --git a/include/boost/preprocessor/tuple/size.hpp b/include/boost/preprocessor/tuple/size.hpp new file mode 100644 index 0000000..675c065 --- /dev/null +++ b/include/boost/preprocessor/tuple/size.hpp @@ -0,0 +1,28 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_SIZE_HPP +# define BOOST_PREPROCESSOR_TUPLE_SIZE_HPP +# +# include +# include +# include +# +# if BOOST_PP_VARIADICS +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE tuple,) +# else +# define BOOST_PP_TUPLE_SIZE(tuple) BOOST_PP_VARIADIC_SIZE tuple +# endif +# endif +# +# endif diff --git a/include/boost/preprocessor/tuple/to_array.hpp b/include/boost/preprocessor/tuple/to_array.hpp new file mode 100644 index 0000000..1b994f3 --- /dev/null +++ b/include/boost/preprocessor/tuple/to_array.hpp @@ -0,0 +1,37 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_TO_ARRAY_HPP +# define BOOST_PREPROCESSOR_TUPLE_TO_ARRAY_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_TUPLE_TO_ARRAY */ +# +# if BOOST_PP_VARIADICS +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_TUPLE_TO_ARRAY(...) BOOST_PP_TUPLE_TO_ARRAY_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_ARRAY_, __VA_ARGS__), (__VA_ARGS__)) +# define BOOST_PP_TUPLE_TO_ARRAY_I(m, args) BOOST_PP_TUPLE_TO_ARRAY_II(m, args) +# define BOOST_PP_TUPLE_TO_ARRAY_II(m, args) BOOST_PP_CAT(m ## args,) +# else +# define BOOST_PP_TUPLE_TO_ARRAY(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_ARRAY_, __VA_ARGS__)(__VA_ARGS__) +# endif +# define BOOST_PP_TUPLE_TO_ARRAY_1(tuple) (BOOST_PP_VARIADIC_SIZE tuple, tuple) +# define BOOST_PP_TUPLE_TO_ARRAY_2(size, tuple) (size, tuple) +# else +# define BOOST_PP_TUPLE_TO_ARRAY(size, tuple) (size, tuple) +# endif +# +# endif diff --git a/include/boost/preprocessor/tuple/to_list.hpp b/include/boost/preprocessor/tuple/to_list.hpp index e8af8dd..2a9d6fe 100644 --- a/include/boost/preprocessor/tuple/to_list.hpp +++ b/include/boost/preprocessor/tuple/to_list.hpp @@ -7,56 +7,110 @@ # * http://www.boost.org/LICENSE_1_0.txt) # */ # -# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Paul Mensonides (2002-2011) */ +# /* Revised by Edward Diener (2011) */ # # /* See http://www.boost.org for most recent version. */ # # ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP # define BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP # +# include # include +# include +# include # # /* BOOST_PP_TUPLE_TO_LIST */ # -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_I(size, tuple) -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s t +# if BOOST_PP_VARIADICS +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_TUPLE_TO_LIST_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__), (__VA_ARGS__)) +# define BOOST_PP_TUPLE_TO_LIST_I(m, args) BOOST_PP_TUPLE_TO_LIST_II(m, args) +# define BOOST_PP_TUPLE_TO_LIST_II(m, args) BOOST_PP_CAT(m ## args,) # else -# define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_II(BOOST_PP_TUPLE_TO_LIST_ ## s t) -# define BOOST_PP_TUPLE_TO_LIST_II(res) res +# define BOOST_PP_TUPLE_TO_LIST(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_LIST_O_, __VA_ARGS__)(__VA_ARGS__) # endif +# define BOOST_PP_TUPLE_TO_LIST_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_LIST_, BOOST_PP_VARIADIC_SIZE tuple) tuple +# define BOOST_PP_TUPLE_TO_LIST_O_2(size, tuple) BOOST_PP_TUPLE_TO_LIST_O_1(tuple) # else -# define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_OO((size, tuple)) -# define BOOST_PP_TUPLE_TO_LIST_OO(par) BOOST_PP_TUPLE_TO_LIST_I ## par -# define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s ## t +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_I(size, tuple) +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s t +# else +# define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_II(BOOST_PP_TUPLE_TO_LIST_ ## s t) +# define BOOST_PP_TUPLE_TO_LIST_II(res) res +# endif +# else +# define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_OO((size, tuple)) +# define BOOST_PP_TUPLE_TO_LIST_OO(par) BOOST_PP_TUPLE_TO_LIST_I ## par +# define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s ## t +# endif # endif # -# define BOOST_PP_TUPLE_TO_LIST_0() BOOST_PP_NIL -# define BOOST_PP_TUPLE_TO_LIST_1(a) (a, BOOST_PP_NIL) -# define BOOST_PP_TUPLE_TO_LIST_2(a, b) (a, (b, BOOST_PP_NIL)) -# define BOOST_PP_TUPLE_TO_LIST_3(a, b, c) (a, (b, (c, BOOST_PP_NIL))) -# define BOOST_PP_TUPLE_TO_LIST_4(a, b, c, d) (a, (b, (c, (d, BOOST_PP_NIL)))) -# define BOOST_PP_TUPLE_TO_LIST_5(a, b, c, d, e) (a, (b, (c, (d, (e, BOOST_PP_NIL))))) -# define BOOST_PP_TUPLE_TO_LIST_6(a, b, c, d, e, f) (a, (b, (c, (d, (e, (f, BOOST_PP_NIL)))))) -# define BOOST_PP_TUPLE_TO_LIST_7(a, b, c, d, e, f, g) (a, (b, (c, (d, (e, (f, (g, BOOST_PP_NIL))))))) -# define BOOST_PP_TUPLE_TO_LIST_8(a, b, c, d, e, f, g, h) (a, (b, (c, (d, (e, (f, (g, (h, BOOST_PP_NIL)))))))) -# define BOOST_PP_TUPLE_TO_LIST_9(a, b, c, d, e, f, g, h, i) (a, (b, (c, (d, (e, (f, (g, (h, (i, BOOST_PP_NIL))))))))) -# define BOOST_PP_TUPLE_TO_LIST_10(a, b, c, d, e, f, g, h, i, j) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, BOOST_PP_NIL)))))))))) -# define BOOST_PP_TUPLE_TO_LIST_11(a, b, c, d, e, f, g, h, i, j, k) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, BOOST_PP_NIL))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_12(a, b, c, d, e, f, g, h, i, j, k, l) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, BOOST_PP_NIL)))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_13(a, b, c, d, e, f, g, h, i, j, k, l, m) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, BOOST_PP_NIL))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, BOOST_PP_NIL)))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, BOOST_PP_NIL))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, BOOST_PP_NIL)))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, BOOST_PP_NIL))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, BOOST_PP_NIL)))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, BOOST_PP_NIL))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, BOOST_PP_NIL)))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, BOOST_PP_NIL))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, BOOST_PP_NIL)))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, (w, BOOST_PP_NIL))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, (w, (x, BOOST_PP_NIL)))))))))))))))))))))))) -# define BOOST_PP_TUPLE_TO_LIST_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, (w, (x, (y, BOOST_PP_NIL))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_1(e0) (e0, BOOST_PP_NIL) +# define BOOST_PP_TUPLE_TO_LIST_2(e0, e1) (e0, (e1, BOOST_PP_NIL)) +# define BOOST_PP_TUPLE_TO_LIST_3(e0, e1, e2) (e0, (e1, (e2, BOOST_PP_NIL))) +# define BOOST_PP_TUPLE_TO_LIST_4(e0, e1, e2, e3) (e0, (e1, (e2, (e3, BOOST_PP_NIL)))) +# define BOOST_PP_TUPLE_TO_LIST_5(e0, e1, e2, e3, e4) (e0, (e1, (e2, (e3, (e4, BOOST_PP_NIL))))) +# define BOOST_PP_TUPLE_TO_LIST_6(e0, e1, e2, e3, e4, e5) (e0, (e1, (e2, (e3, (e4, (e5, BOOST_PP_NIL)))))) +# define BOOST_PP_TUPLE_TO_LIST_7(e0, e1, e2, e3, e4, e5, e6) (e0, (e1, (e2, (e3, (e4, (e5, (e6, BOOST_PP_NIL))))))) +# define BOOST_PP_TUPLE_TO_LIST_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, BOOST_PP_NIL)))))))) +# define BOOST_PP_TUPLE_TO_LIST_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, BOOST_PP_NIL))))))))) +# define BOOST_PP_TUPLE_TO_LIST_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, BOOST_PP_NIL)))))))))) +# define BOOST_PP_TUPLE_TO_LIST_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, BOOST_PP_NIL))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, BOOST_PP_NIL)))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, BOOST_PP_NIL))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, BOOST_PP_NIL)))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, BOOST_PP_NIL))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, BOOST_PP_NIL)))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, BOOST_PP_NIL))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, BOOST_PP_NIL)))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, BOOST_PP_NIL))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, BOOST_PP_NIL)))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, BOOST_PP_NIL))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, BOOST_PP_NIL)))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, BOOST_PP_NIL))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, BOOST_PP_NIL)))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, BOOST_PP_NIL))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, BOOST_PP_NIL)))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, BOOST_PP_NIL))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, BOOST_PP_NIL)))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, BOOST_PP_NIL))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, BOOST_PP_NIL)))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, BOOST_PP_NIL))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, BOOST_PP_NIL)))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, BOOST_PP_NIL))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, BOOST_PP_NIL)))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, BOOST_PP_NIL))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, BOOST_PP_NIL))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) (e0, (e1, (e2, (e3, (e4, (e5, (e6, (e7, (e8, (e9, (e10, (e11, (e12, (e13, (e14, (e15, (e16, (e17, (e18, (e19, (e20, (e21, (e22, (e23, (e24, (e25, (e26, (e27, (e28, (e29, (e30, (e31, (e32, (e33, (e34, (e35, (e36, (e37, (e38, (e39, (e40, (e41, (e42, (e43, (e44, (e45, (e46, (e47, (e48, (e49, (e50, (e51, (e52, (e53, (e54, (e55, (e56, (e57, (e58, (e59, (e60, (e61, (e62, (e63, BOOST_PP_NIL)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) # # endif diff --git a/include/boost/preprocessor/tuple/to_seq.hpp b/include/boost/preprocessor/tuple/to_seq.hpp index 22f8434..1fb7b81 100644 --- a/include/boost/preprocessor/tuple/to_seq.hpp +++ b/include/boost/preprocessor/tuple/to_seq.hpp @@ -1,9 +1,10 @@ # /* ************************************************************************** # * * -# * (C) Copyright Paul Mensonides 2002. -# * 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) +# * (C) Copyright Paul Mensonides 2002-2011. * +# * (C) Copyright Edward Diener 2011. * +# * 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) * # * * # ************************************************************************** */ # @@ -12,49 +13,102 @@ # ifndef BOOST_PREPROCESSOR_TUPLE_TO_SEQ_HPP # define BOOST_PREPROCESSOR_TUPLE_TO_SEQ_HPP # +# include # include +# include +# include # # /* BOOST_PP_TUPLE_TO_SEQ */ # -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() -# define BOOST_PP_TUPLE_TO_SEQ(size, tuple) BOOST_PP_TUPLE_TO_SEQ_I(size, tuple) -# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() -# define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_ ## s t +# if BOOST_PP_VARIADICS +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_TUPLE_TO_SEQ(...) BOOST_PP_TUPLE_TO_SEQ_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_SEQ_O_, __VA_ARGS__), (__VA_ARGS__)) +# define BOOST_PP_TUPLE_TO_SEQ_I(m, args) BOOST_PP_TUPLE_TO_SEQ_II(m, args) +# define BOOST_PP_TUPLE_TO_SEQ_II(m, args) BOOST_PP_CAT(m ## args,) # else -# define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_II(BOOST_PP_TUPLE_TO_SEQ_ ## s t) -# define BOOST_PP_TUPLE_TO_SEQ_II(res) res +# define BOOST_PP_TUPLE_TO_SEQ(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_TO_SEQ_O_, __VA_ARGS__)(__VA_ARGS__) # endif +# define BOOST_PP_TUPLE_TO_SEQ_O_1(tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_TO_SEQ_, BOOST_PP_VARIADIC_SIZE tuple) tuple +# define BOOST_PP_TUPLE_TO_SEQ_O_2(size, tuple) BOOST_PP_TUPLE_TO_SEQ_O_1(tuple) # else -# define BOOST_PP_TUPLE_TO_SEQ(size, tuple) BOOST_PP_TUPLE_TO_SEQ_OO((size, tuple)) -# define BOOST_PP_TUPLE_TO_SEQ_OO(par) BOOST_PP_TUPLE_TO_SEQ_I ## par -# define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_ ## s ## t +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_TO_SEQ(size, tuple) BOOST_PP_TUPLE_TO_SEQ_I(size, tuple) +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_ ## s t +# else +# define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_II(BOOST_PP_TUPLE_TO_SEQ_ ## s t) +# define BOOST_PP_TUPLE_TO_SEQ_II(res) res +# endif +# else +# define BOOST_PP_TUPLE_TO_SEQ(size, tuple) BOOST_PP_TUPLE_TO_SEQ_OO((size, tuple)) +# define BOOST_PP_TUPLE_TO_SEQ_OO(par) BOOST_PP_TUPLE_TO_SEQ_I ## par +# define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_ ## s ## t +# endif # endif # -# define BOOST_PP_TUPLE_TO_SEQ_0() -# define BOOST_PP_TUPLE_TO_SEQ_1(a) (a) -# define BOOST_PP_TUPLE_TO_SEQ_2(a, b) (a)(b) -# define BOOST_PP_TUPLE_TO_SEQ_3(a, b, c) (a)(b)(c) -# define BOOST_PP_TUPLE_TO_SEQ_4(a, b, c, d) (a)(b)(c)(d) -# define BOOST_PP_TUPLE_TO_SEQ_5(a, b, c, d, e) (a)(b)(c)(d)(e) -# define BOOST_PP_TUPLE_TO_SEQ_6(a, b, c, d, e, f) (a)(b)(c)(d)(e)(f) -# define BOOST_PP_TUPLE_TO_SEQ_7(a, b, c, d, e, f, g) (a)(b)(c)(d)(e)(f)(g) -# define BOOST_PP_TUPLE_TO_SEQ_8(a, b, c, d, e, f, g, h) (a)(b)(c)(d)(e)(f)(g)(h) -# define BOOST_PP_TUPLE_TO_SEQ_9(a, b, c, d, e, f, g, h, i) (a)(b)(c)(d)(e)(f)(g)(h)(i) -# define BOOST_PP_TUPLE_TO_SEQ_10(a, b, c, d, e, f, g, h, i, j) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j) -# define BOOST_PP_TUPLE_TO_SEQ_11(a, b, c, d, e, f, g, h, i, j, k) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k) -# define BOOST_PP_TUPLE_TO_SEQ_12(a, b, c, d, e, f, g, h, i, j, k, l) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l) -# define BOOST_PP_TUPLE_TO_SEQ_13(a, b, c, d, e, f, g, h, i, j, k, l, m) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m) -# define BOOST_PP_TUPLE_TO_SEQ_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n) -# define BOOST_PP_TUPLE_TO_SEQ_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o) -# define BOOST_PP_TUPLE_TO_SEQ_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p) -# define BOOST_PP_TUPLE_TO_SEQ_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q) -# define BOOST_PP_TUPLE_TO_SEQ_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r) -# define BOOST_PP_TUPLE_TO_SEQ_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s) -# define BOOST_PP_TUPLE_TO_SEQ_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t) -# define BOOST_PP_TUPLE_TO_SEQ_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u) -# define BOOST_PP_TUPLE_TO_SEQ_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v) -# define BOOST_PP_TUPLE_TO_SEQ_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w) -# define BOOST_PP_TUPLE_TO_SEQ_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x) -# define BOOST_PP_TUPLE_TO_SEQ_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y) +# define BOOST_PP_TUPLE_TO_SEQ_1(e0) (e0) +# define BOOST_PP_TUPLE_TO_SEQ_2(e0, e1) (e0)(e1) +# define BOOST_PP_TUPLE_TO_SEQ_3(e0, e1, e2) (e0)(e1)(e2) +# define BOOST_PP_TUPLE_TO_SEQ_4(e0, e1, e2, e3) (e0)(e1)(e2)(e3) +# define BOOST_PP_TUPLE_TO_SEQ_5(e0, e1, e2, e3, e4) (e0)(e1)(e2)(e3)(e4) +# define BOOST_PP_TUPLE_TO_SEQ_6(e0, e1, e2, e3, e4, e5) (e0)(e1)(e2)(e3)(e4)(e5) +# define BOOST_PP_TUPLE_TO_SEQ_7(e0, e1, e2, e3, e4, e5, e6) (e0)(e1)(e2)(e3)(e4)(e5)(e6) +# define BOOST_PP_TUPLE_TO_SEQ_8(e0, e1, e2, e3, e4, e5, e6, e7) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7) +# define BOOST_PP_TUPLE_TO_SEQ_9(e0, e1, e2, e3, e4, e5, e6, e7, e8) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8) +# define BOOST_PP_TUPLE_TO_SEQ_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9) +# define BOOST_PP_TUPLE_TO_SEQ_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10) +# define BOOST_PP_TUPLE_TO_SEQ_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11) +# define BOOST_PP_TUPLE_TO_SEQ_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12) +# define BOOST_PP_TUPLE_TO_SEQ_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13) +# define BOOST_PP_TUPLE_TO_SEQ_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14) +# define BOOST_PP_TUPLE_TO_SEQ_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15) +# define BOOST_PP_TUPLE_TO_SEQ_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16) +# define BOOST_PP_TUPLE_TO_SEQ_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17) +# define BOOST_PP_TUPLE_TO_SEQ_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18) +# define BOOST_PP_TUPLE_TO_SEQ_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19) +# define BOOST_PP_TUPLE_TO_SEQ_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20) +# define BOOST_PP_TUPLE_TO_SEQ_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21) +# define BOOST_PP_TUPLE_TO_SEQ_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22) +# define BOOST_PP_TUPLE_TO_SEQ_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23) +# define BOOST_PP_TUPLE_TO_SEQ_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24) +# define BOOST_PP_TUPLE_TO_SEQ_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25) +# define BOOST_PP_TUPLE_TO_SEQ_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26) +# define BOOST_PP_TUPLE_TO_SEQ_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27) +# define BOOST_PP_TUPLE_TO_SEQ_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28) +# define BOOST_PP_TUPLE_TO_SEQ_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29) +# define BOOST_PP_TUPLE_TO_SEQ_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30) +# define BOOST_PP_TUPLE_TO_SEQ_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31) +# define BOOST_PP_TUPLE_TO_SEQ_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32) +# define BOOST_PP_TUPLE_TO_SEQ_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33) +# define BOOST_PP_TUPLE_TO_SEQ_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34) +# define BOOST_PP_TUPLE_TO_SEQ_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35) +# define BOOST_PP_TUPLE_TO_SEQ_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36) +# define BOOST_PP_TUPLE_TO_SEQ_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37) +# define BOOST_PP_TUPLE_TO_SEQ_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38) +# define BOOST_PP_TUPLE_TO_SEQ_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39) +# define BOOST_PP_TUPLE_TO_SEQ_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40) +# define BOOST_PP_TUPLE_TO_SEQ_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41) +# define BOOST_PP_TUPLE_TO_SEQ_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42) +# define BOOST_PP_TUPLE_TO_SEQ_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43) +# define BOOST_PP_TUPLE_TO_SEQ_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44) +# define BOOST_PP_TUPLE_TO_SEQ_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45) +# define BOOST_PP_TUPLE_TO_SEQ_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46) +# define BOOST_PP_TUPLE_TO_SEQ_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47) +# define BOOST_PP_TUPLE_TO_SEQ_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48) +# define BOOST_PP_TUPLE_TO_SEQ_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49) +# define BOOST_PP_TUPLE_TO_SEQ_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50) +# define BOOST_PP_TUPLE_TO_SEQ_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50)(e51) +# define BOOST_PP_TUPLE_TO_SEQ_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50)(e51)(e52) +# define BOOST_PP_TUPLE_TO_SEQ_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50)(e51)(e52)(e53) +# define BOOST_PP_TUPLE_TO_SEQ_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50)(e51)(e52)(e53)(e54) +# define BOOST_PP_TUPLE_TO_SEQ_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50)(e51)(e52)(e53)(e54)(e55) +# define BOOST_PP_TUPLE_TO_SEQ_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50)(e51)(e52)(e53)(e54)(e55)(e56) +# define BOOST_PP_TUPLE_TO_SEQ_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50)(e51)(e52)(e53)(e54)(e55)(e56)(e57) +# define BOOST_PP_TUPLE_TO_SEQ_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50)(e51)(e52)(e53)(e54)(e55)(e56)(e57)(e58) +# define BOOST_PP_TUPLE_TO_SEQ_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50)(e51)(e52)(e53)(e54)(e55)(e56)(e57)(e58)(e59) +# define BOOST_PP_TUPLE_TO_SEQ_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50)(e51)(e52)(e53)(e54)(e55)(e56)(e57)(e58)(e59)(e60) +# define BOOST_PP_TUPLE_TO_SEQ_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50)(e51)(e52)(e53)(e54)(e55)(e56)(e57)(e58)(e59)(e60)(e61) +# define BOOST_PP_TUPLE_TO_SEQ_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50)(e51)(e52)(e53)(e54)(e55)(e56)(e57)(e58)(e59)(e60)(e61)(e62) +# define BOOST_PP_TUPLE_TO_SEQ_64(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63) (e0)(e1)(e2)(e3)(e4)(e5)(e6)(e7)(e8)(e9)(e10)(e11)(e12)(e13)(e14)(e15)(e16)(e17)(e18)(e19)(e20)(e21)(e22)(e23)(e24)(e25)(e26)(e27)(e28)(e29)(e30)(e31)(e32)(e33)(e34)(e35)(e36)(e37)(e38)(e39)(e40)(e41)(e42)(e43)(e44)(e45)(e46)(e47)(e48)(e49)(e50)(e51)(e52)(e53)(e54)(e55)(e56)(e57)(e58)(e59)(e60)(e61)(e62)(e63) # # endif diff --git a/include/boost/preprocessor/variadic.hpp b/include/boost/preprocessor/variadic.hpp new file mode 100644 index 0000000..a28e026 --- /dev/null +++ b/include/boost/preprocessor/variadic.hpp @@ -0,0 +1,23 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_HPP +# define BOOST_PREPROCESSOR_VARIADIC_HPP +# +# include +# include +# include +# include +# include +# include +# +# endif diff --git a/include/boost/preprocessor/variadic/elem.hpp b/include/boost/preprocessor/variadic/elem.hpp new file mode 100644 index 0000000..a4864ac --- /dev/null +++ b/include/boost/preprocessor/variadic/elem.hpp @@ -0,0 +1,93 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP +# define BOOST_PREPROCESSOR_VARIADIC_ELEM_HPP +# +# include +# include +# +# /* BOOST_PP_VARIADIC_ELEM */ +# +# if BOOST_PP_VARIADICS +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,),) +# else +# define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,) +# endif +# define BOOST_PP_VARIADIC_ELEM_0(e0, ...) e0 +# define BOOST_PP_VARIADIC_ELEM_1(e0, e1, ...) e1 +# define BOOST_PP_VARIADIC_ELEM_2(e0, e1, e2, ...) e2 +# define BOOST_PP_VARIADIC_ELEM_3(e0, e1, e2, e3, ...) e3 +# define BOOST_PP_VARIADIC_ELEM_4(e0, e1, e2, e3, e4, ...) e4 +# define BOOST_PP_VARIADIC_ELEM_5(e0, e1, e2, e3, e4, e5, ...) e5 +# define BOOST_PP_VARIADIC_ELEM_6(e0, e1, e2, e3, e4, e5, e6, ...) e6 +# define BOOST_PP_VARIADIC_ELEM_7(e0, e1, e2, e3, e4, e5, e6, e7, ...) e7 +# define BOOST_PP_VARIADIC_ELEM_8(e0, e1, e2, e3, e4, e5, e6, e7, e8, ...) e8 +# define BOOST_PP_VARIADIC_ELEM_9(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, ...) e9 +# define BOOST_PP_VARIADIC_ELEM_10(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, ...) e10 +# define BOOST_PP_VARIADIC_ELEM_11(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, ...) e11 +# define BOOST_PP_VARIADIC_ELEM_12(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, ...) e12 +# define BOOST_PP_VARIADIC_ELEM_13(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, ...) e13 +# define BOOST_PP_VARIADIC_ELEM_14(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, ...) e14 +# define BOOST_PP_VARIADIC_ELEM_15(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, ...) e15 +# define BOOST_PP_VARIADIC_ELEM_16(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, ...) e16 +# define BOOST_PP_VARIADIC_ELEM_17(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, ...) e17 +# define BOOST_PP_VARIADIC_ELEM_18(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, ...) e18 +# define BOOST_PP_VARIADIC_ELEM_19(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, ...) e19 +# define BOOST_PP_VARIADIC_ELEM_20(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, ...) e20 +# define BOOST_PP_VARIADIC_ELEM_21(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, ...) e21 +# define BOOST_PP_VARIADIC_ELEM_22(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, ...) e22 +# define BOOST_PP_VARIADIC_ELEM_23(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, ...) e23 +# define BOOST_PP_VARIADIC_ELEM_24(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, ...) e24 +# define BOOST_PP_VARIADIC_ELEM_25(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, ...) e25 +# define BOOST_PP_VARIADIC_ELEM_26(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, ...) e26 +# define BOOST_PP_VARIADIC_ELEM_27(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, ...) e27 +# define BOOST_PP_VARIADIC_ELEM_28(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, ...) e28 +# define BOOST_PP_VARIADIC_ELEM_29(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, ...) e29 +# define BOOST_PP_VARIADIC_ELEM_30(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, ...) e30 +# define BOOST_PP_VARIADIC_ELEM_31(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, ...) e31 +# define BOOST_PP_VARIADIC_ELEM_32(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, ...) e32 +# define BOOST_PP_VARIADIC_ELEM_33(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, ...) e33 +# define BOOST_PP_VARIADIC_ELEM_34(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, ...) e34 +# define BOOST_PP_VARIADIC_ELEM_35(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, ...) e35 +# define BOOST_PP_VARIADIC_ELEM_36(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, ...) e36 +# define BOOST_PP_VARIADIC_ELEM_37(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, ...) e37 +# define BOOST_PP_VARIADIC_ELEM_38(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, ...) e38 +# define BOOST_PP_VARIADIC_ELEM_39(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, ...) e39 +# define BOOST_PP_VARIADIC_ELEM_40(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, ...) e40 +# define BOOST_PP_VARIADIC_ELEM_41(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, ...) e41 +# define BOOST_PP_VARIADIC_ELEM_42(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, ...) e42 +# define BOOST_PP_VARIADIC_ELEM_43(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, ...) e43 +# define BOOST_PP_VARIADIC_ELEM_44(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, ...) e44 +# define BOOST_PP_VARIADIC_ELEM_45(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, ...) e45 +# define BOOST_PP_VARIADIC_ELEM_46(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, ...) e46 +# define BOOST_PP_VARIADIC_ELEM_47(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, ...) e47 +# define BOOST_PP_VARIADIC_ELEM_48(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, ...) e48 +# define BOOST_PP_VARIADIC_ELEM_49(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, ...) e49 +# define BOOST_PP_VARIADIC_ELEM_50(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, ...) e50 +# define BOOST_PP_VARIADIC_ELEM_51(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, ...) e51 +# define BOOST_PP_VARIADIC_ELEM_52(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, ...) e52 +# define BOOST_PP_VARIADIC_ELEM_53(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, ...) e53 +# define BOOST_PP_VARIADIC_ELEM_54(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, ...) e54 +# define BOOST_PP_VARIADIC_ELEM_55(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, ...) e55 +# define BOOST_PP_VARIADIC_ELEM_56(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, ...) e56 +# define BOOST_PP_VARIADIC_ELEM_57(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, ...) e57 +# define BOOST_PP_VARIADIC_ELEM_58(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, ...) e58 +# define BOOST_PP_VARIADIC_ELEM_59(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, ...) e59 +# define BOOST_PP_VARIADIC_ELEM_60(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, ...) e60 +# define BOOST_PP_VARIADIC_ELEM_61(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, ...) e61 +# define BOOST_PP_VARIADIC_ELEM_62(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, ...) e62 +# define BOOST_PP_VARIADIC_ELEM_63(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, ...) e63 +# endif +# +# endif diff --git a/include/boost/preprocessor/variadic/size.hpp b/include/boost/preprocessor/variadic/size.hpp new file mode 100644 index 0000000..b92a5ff --- /dev/null +++ b/include/boost/preprocessor/variadic/size.hpp @@ -0,0 +1,30 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP +# define BOOST_PREPROCESSOR_VARIADIC_SIZE_HPP +# +# include +# include +# +# /* BOOST_PP_VARIADIC_SIZE */ +# +# if BOOST_PP_VARIADICS +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_CAT(BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),) +# else +# define BOOST_PP_VARIADIC_SIZE(...) BOOST_PP_VARIADIC_SIZE_I(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,) +# endif +# define BOOST_PP_VARIADIC_SIZE_I(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size +# endif +# +# endif diff --git a/include/boost/preprocessor/variadic/to_array.hpp b/include/boost/preprocessor/variadic/to_array.hpp new file mode 100644 index 0000000..14c2b92 --- /dev/null +++ b/include/boost/preprocessor/variadic/to_array.hpp @@ -0,0 +1,32 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_TO_ARRAY_HPP +# define BOOST_PREPROCESSOR_VARIADIC_TO_ARRAY_HPP +# +# include +# include +# if BOOST_PP_VARIADICS_MSVC +# include +# endif +# +# /* BOOST_PP_VARIADIC_TO_ARRAY */ +# +# if BOOST_PP_VARIADICS +# if BOOST_PP_VARIADICS_MSVC +# define BOOST_PP_VARIADIC_TO_ARRAY(...) BOOST_PP_TUPLE_TO_ARRAY_2(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__),(__VA_ARGS__)) +# else +# define BOOST_PP_VARIADIC_TO_ARRAY(...) BOOST_PP_TUPLE_TO_ARRAY((__VA_ARGS__)) +# endif +# endif +# +# endif diff --git a/include/boost/preprocessor/variadic/to_list.hpp b/include/boost/preprocessor/variadic/to_list.hpp new file mode 100644 index 0000000..43d526a --- /dev/null +++ b/include/boost/preprocessor/variadic/to_list.hpp @@ -0,0 +1,25 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_TO_LIST_HPP +# define BOOST_PREPROCESSOR_VARIADIC_TO_LIST_HPP +# +# include +# include +# +# /* BOOST_PP_VARIADIC_TO_LIST */ +# +# if BOOST_PP_VARIADICS +# define BOOST_PP_VARIADIC_TO_LIST(...) BOOST_PP_TUPLE_TO_LIST((__VA_ARGS__)) +# endif +# +# endif diff --git a/include/boost/preprocessor/variadic/to_seq.hpp b/include/boost/preprocessor/variadic/to_seq.hpp new file mode 100644 index 0000000..255af4f --- /dev/null +++ b/include/boost/preprocessor/variadic/to_seq.hpp @@ -0,0 +1,25 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_TO_SEQ_HPP +# define BOOST_PREPROCESSOR_VARIADIC_TO_SEQ_HPP +# +# include +# include +# +# /* BOOST_PP_VARIADIC_TO_SEQ */ +# +# if BOOST_PP_VARIADICS +# define BOOST_PP_VARIADIC_TO_SEQ(...) BOOST_PP_TUPLE_TO_SEQ((__VA_ARGS__)) +# endif +# +# endif diff --git a/include/boost/preprocessor/variadic/to_tuple.hpp b/include/boost/preprocessor/variadic/to_tuple.hpp new file mode 100644 index 0000000..ddb6d8b --- /dev/null +++ b/include/boost/preprocessor/variadic/to_tuple.hpp @@ -0,0 +1,24 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. * +# * (C) Copyright Paul Mensonides 2011. * +# * 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) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_VARIADIC_TO_TUPLE_HPP +# define BOOST_PREPROCESSOR_VARIADIC_TO_TUPLE_HPP +# +# include +# +# /* BOOST_PP_VARIADIC_TO_TUPLE */ +# +# if BOOST_PP_VARIADICS +# define BOOST_PP_VARIADIC_TO_TUPLE(...) (__VA_ARGS__) +# endif +# +# endif diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 2ef7e7f..92d1716 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -4,8 +4,22 @@ import testing ; +project preprocessor_tests : requirements on + gcc-4.3.0:all + gcc-4.3.0:-Wno-variadic-macros + gcc-4.4.0:all + gcc-4.4.0:-Wno-variadic-macros + gcc-4.5.0:all + gcc-4.5.0:-Wno-variadic-macros + gcc-4.5.0:"-Wl,--enable-auto-import" + gcc-4.5.2:all + gcc-4.5.2:-Wno-variadic-macros + msvc:all + ; + test-suite preprocessor - : [ compile arithmetic.cpp ] + : + [ compile arithmetic.cpp ] [ compile array.cpp ] [ compile comparison.cpp ] [ compile control.cpp ] @@ -19,4 +33,143 @@ test-suite preprocessor [ compile seq.cpp ] [ compile slot.cpp ] [ compile tuple.cpp ] - ; + [ compile variadic.cpp ] + ; + +test-suite preprocessor_nvm + : + [ compile arithmetic.cpp : BOOST_PP_VARIADICS=0 : arithmetic_nvm ] + [ compile array.cpp : BOOST_PP_VARIADICS=0 : array_nvm ] + [ compile comparison.cpp : BOOST_PP_VARIADICS=0 : comparison_nvm ] + [ compile control.cpp : BOOST_PP_VARIADICS=0 : control_nvm ] + [ compile debug.cpp : BOOST_PP_VARIADICS=0 : debug_nvm ] + [ compile facilities.cpp : BOOST_PP_VARIADICS=0 : facilities_nvm ] + [ compile iteration.cpp : BOOST_PP_VARIADICS=0 : iteration_nvm ] + [ compile list.cpp : BOOST_PP_VARIADICS=0 : list_nvm ] + [ compile logical.cpp : BOOST_PP_VARIADICS=0 : logical_nvm ] + [ compile repetition.cpp : BOOST_PP_VARIADICS=0 : repetition_nvm ] + [ compile selection.cpp : BOOST_PP_VARIADICS=0 : selection_nvm ] + [ compile seq.cpp : BOOST_PP_VARIADICS=0 : seq_nvm ] + [ compile slot.cpp : BOOST_PP_VARIADICS=0 : slot_nvm ] + [ compile tuple.cpp : BOOST_PP_VARIADICS=0 : tuple_nvm ] + ; + +test-suite preprocessor_c + : + [ compile arithmetic.c + : gcc:-std=c99 + : arithmetic_c + ] + [ compile array.c + : gcc:-std=c99 + : array_c + ] + [ compile comparison.c + : gcc:-std=c99 + : comparison_c + ] + [ compile control.c + : gcc:-std=c99 + : control_c + ] + [ compile debug.c + : gcc:-std=c99 + : debug_c + ] + [ compile facilities.c + : gcc:-std=c99 + : facilities_c + ] + [ compile list.c + : gcc:-std=c99 + : list_c + ] + [ compile logical.c + : gcc:-std=c99 + : logical_c + ] + [ compile selection.c + : gcc:-std=c99 + : selection_c + ] + [ compile seq.c + : gcc:-std=c99 + : seq_c + ] + [ compile slot.c + : gcc:-std=c99 + : slot_c + ] + [ compile tuple.c + : gcc:-std=c99 + : tuple_c + ] + [ compile variadic.c + : gcc:-std=c99 + : variadic_c + ] + ; + +test-suite preprocessor_c_nvm + : + [ compile arithmetic.c + : BOOST_PP_VARIADICS=0 + gcc:-std=c99 + : arithmetic_c_nvm + ] + [ compile array.c + : BOOST_PP_VARIADICS=0 + gcc:-std=c99 + : array_c_nvm + ] + [ compile comparison.c + : BOOST_PP_VARIADICS=0 + gcc:-std=c99 + : comparison_c_nvm + ] + [ compile control.c + : BOOST_PP_VARIADICS=0 + gcc:-std=c99 + : control_c_nvm + ] + [ compile debug.c + : BOOST_PP_VARIADICS=0 + gcc:-std=c99 + : debug_c_nvm + ] + [ compile facilities.c + : BOOST_PP_VARIADICS=0 + gcc:-std=c99 + : facilities_c_nvm + ] + [ compile list.c + : BOOST_PP_VARIADICS=0 + gcc:-std=c99 + : list_c_nvm + ] + [ compile logical.c + : BOOST_PP_VARIADICS=0 + gcc:-std=c99 + : logical_c_nvm + ] + [ compile selection.c + : BOOST_PP_VARIADICS=0 + gcc:-std=c99 + : selection_c_nvm + ] + [ compile seq.c + : BOOST_PP_VARIADICS=0 + gcc:-std=c99 + : seq_c_nvm + ] + [ compile slot.c + : BOOST_PP_VARIADICS=0 + gcc:-std=c99 + : slot_c_nvm + ] + [ compile tuple.c + : BOOST_PP_VARIADICS=0 + gcc:-std=c99 + : tuple_c_nvm + ] + ; diff --git a/test/arithmetic.c b/test/arithmetic.c new file mode 100644 index 0000000..4512314 --- /dev/null +++ b/test/arithmetic.c @@ -0,0 +1,62 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include +# include + +/* addition */ + +BEGIN BOOST_PP_ADD(2, 3) == 5 END + +BEGIN BOOST_PP_ADD(BOOST_PP_ADD(2, 2), 2) == 6 END +BEGIN BOOST_PP_ADD(2, BOOST_PP_ADD(1, 4)) == 7 END +BEGIN BOOST_PP_ADD(BOOST_PP_ADD(2, 2), BOOST_PP_ADD(2, 2)) == 8 END + +/* subtraction */ + +BEGIN BOOST_PP_SUB(11, 0) == 11 END +BEGIN BOOST_PP_SUB(12, 1) == 11 END +BEGIN BOOST_PP_SUB(3, 4) == 0 END + +BEGIN BOOST_PP_SUB(5, BOOST_PP_SUB(3, 2)) == 4 END +BEGIN BOOST_PP_SUB(BOOST_PP_SUB(10, 5), 2) == 3 END +BEGIN BOOST_PP_SUB(BOOST_PP_SUB(7, 3), BOOST_PP_SUB(10, 8)) == 2 END + +/* multiplication */ + +BEGIN BOOST_PP_MUL(0, 1) == 0 END +BEGIN BOOST_PP_MUL(1, 0) == 0 END +BEGIN BOOST_PP_MUL(1, 1) == 1 END +BEGIN BOOST_PP_MUL(4, 3) == 12 END + +BEGIN BOOST_PP_MUL(BOOST_PP_MUL(2, 2), 2) == 8 END +BEGIN BOOST_PP_MUL(2, BOOST_PP_MUL(2, 2)) == 8 END +BEGIN BOOST_PP_MUL(BOOST_PP_MUL(2, 2), BOOST_PP_MUL(2, 2)) == 16 END + +/* division */ + +BEGIN BOOST_PP_DIV(2, 1) == 2 END +BEGIN BOOST_PP_DIV(0, 5) == 0 END +BEGIN BOOST_PP_DIV(7, 3) == 2 END + +BEGIN BOOST_PP_DIV(BOOST_PP_DIV(4, 2), 2) == 1 END +BEGIN BOOST_PP_DIV(10, BOOST_PP_DIV(10, 2)) == 2 END +BEGIN BOOST_PP_DIV(BOOST_PP_DIV(10, 2), BOOST_PP_DIV(4, 2)) == 2 END + +/* modulus */ + +BEGIN BOOST_PP_MOD(5, 5) == 0 END +BEGIN BOOST_PP_MOD(9, 5) == 4 END +BEGIN BOOST_PP_MOD(7, 4) == 3 END + +BEGIN BOOST_PP_MOD(BOOST_PP_MOD(5, 3), 3) == 2 END +BEGIN BOOST_PP_MOD(5, BOOST_PP_MOD(4, 3)) == 0 END diff --git a/test/array.c b/test/array.c new file mode 100644 index 0000000..3fe3a91 --- /dev/null +++ b/test/array.c @@ -0,0 +1,93 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2011) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include +# include +# include +# include +# if BOOST_PP_VARIADICS +# include +# include +# endif + +# define ARRAY (3, (0, 1, 2)) +# define ARRAY_LARGE (33, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)) +# define ARRAY_VERY_LARGE (64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)) + +// element access + +BEGIN BOOST_PP_ARRAY_ELEM(1, ARRAY) == 1 END +BEGIN BOOST_PP_ARRAY_ELEM(2, (5, (0, 1, 2, 3, 4))) == 2 END +BEGIN BOOST_PP_ARRAY_ELEM(28, ARRAY_LARGE) == 28 END +BEGIN BOOST_PP_ARRAY_ELEM(17, (33, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32))) == 17 END +BEGIN BOOST_PP_ARRAY_ELEM(42, ARRAY_VERY_LARGE) == 42 END +BEGIN BOOST_PP_ARRAY_ELEM(62, (64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63))) == 62 END + +// size + +BEGIN BOOST_PP_ARRAY_SIZE(ARRAY) == 3 END +BEGIN BOOST_PP_ARRAY_SIZE((5, (0, 1, 2, 3, 4))) == 5 END +BEGIN BOOST_PP_ARRAY_SIZE(ARRAY_LARGE) == 33 END +BEGIN BOOST_PP_ARRAY_SIZE((33, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32))) == 33 END +BEGIN BOOST_PP_ARRAY_SIZE(ARRAY_VERY_LARGE) == 64 END +BEGIN BOOST_PP_ARRAY_SIZE((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63))) == 64 END + +// enum + +# if BOOST_PP_VARIADICS + +BEGIN BOOST_PP_VARIADIC_ELEM(2,BOOST_PP_ARRAY_ENUM(ARRAY)) == 2 END +BEGIN BOOST_PP_VARIADIC_ELEM(3,BOOST_PP_ARRAY_ENUM((5, (0, 1, 2, 3, 4)))) == 3 END +BEGIN BOOST_PP_VARIADIC_ELEM(31,BOOST_PP_ARRAY_ENUM(ARRAY_LARGE)) == 31 END +BEGIN BOOST_PP_VARIADIC_ELEM(13,BOOST_PP_ARRAY_ENUM((33, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)))) == 13 END +BEGIN BOOST_PP_VARIADIC_ELEM(39,BOOST_PP_ARRAY_ENUM(ARRAY_VERY_LARGE)) == 39 END +BEGIN BOOST_PP_VARIADIC_ELEM(24,BOOST_PP_ARRAY_ENUM((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)))) == 24 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM((5, (0, 1, 2, 3, 4)))) == 5 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_LARGE)) == 33 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_VERY_LARGE)) == 64 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)))) == 64 END + +# endif + +// to_list + +BEGIN BOOST_PP_LIST_AT(BOOST_PP_ARRAY_TO_LIST(ARRAY), 1) == 1 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_ARRAY_TO_LIST((5, (0, 1, 2, 3, 4))), 4) == 4 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_ARRAY_TO_LIST((33, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32))), 26) == 26 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_ARRAY_TO_LIST(ARRAY_VERY_LARGE), 60) == 60 END + +// to_seq + +BEGIN BOOST_PP_SEQ_ELEM(0, BOOST_PP_ARRAY_TO_SEQ(ARRAY)) == 0 END +BEGIN BOOST_PP_SEQ_ELEM(3, BOOST_PP_ARRAY_TO_SEQ((5, (0, 1, 2, 3, 4)))) == 3 END +BEGIN BOOST_PP_SEQ_ELEM(17, BOOST_PP_ARRAY_TO_SEQ(ARRAY_LARGE)) == 17 END +BEGIN BOOST_PP_SEQ_ELEM(42, BOOST_PP_ARRAY_TO_SEQ((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)))) == 42 END + +// to_tuple + +# if BOOST_PP_VARIADICS + +BEGIN BOOST_PP_TUPLE_ELEM(2, BOOST_PP_ARRAY_TO_TUPLE(ARRAY)) == 2 END +BEGIN BOOST_PP_TUPLE_ELEM(1, BOOST_PP_ARRAY_TO_TUPLE((5, (0, 1, 2, 3, 4)))) == 1 END +BEGIN BOOST_PP_TUPLE_ELEM(26, BOOST_PP_ARRAY_TO_TUPLE(ARRAY_LARGE)) == 26 END +BEGIN BOOST_PP_TUPLE_ELEM(37, BOOST_PP_ARRAY_TO_TUPLE((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)))) == 37 END + +# else + +BEGIN BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_ARRAY_TO_TUPLE(ARRAY)) == 2 END +BEGIN BOOST_PP_TUPLE_ELEM(5, 1, BOOST_PP_ARRAY_TO_TUPLE((5, (0, 1, 2, 3, 4)))) == 1 END +BEGIN BOOST_PP_TUPLE_ELEM(33, 26, BOOST_PP_ARRAY_TO_TUPLE(ARRAY_LARGE)) == 26 END +BEGIN BOOST_PP_TUPLE_ELEM(64, 37, BOOST_PP_ARRAY_TO_TUPLE((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)))) == 37 END + +# endif diff --git a/test/array.cpp b/test/array.cpp index 51f0ccd..3fe3a91 100644 --- a/test/array.cpp +++ b/test/array.cpp @@ -7,19 +7,87 @@ # * * # ************************************************************************** */ # +# /* Revised by Edward Diener (2011) */ +# # /* See http://www.boost.org for most recent version. */ # # include # include +# include +# include +# include +# if BOOST_PP_VARIADICS +# include +# include +# endif # define ARRAY (3, (0, 1, 2)) +# define ARRAY_LARGE (33, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)) +# define ARRAY_VERY_LARGE (64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)) // element access BEGIN BOOST_PP_ARRAY_ELEM(1, ARRAY) == 1 END BEGIN BOOST_PP_ARRAY_ELEM(2, (5, (0, 1, 2, 3, 4))) == 2 END +BEGIN BOOST_PP_ARRAY_ELEM(28, ARRAY_LARGE) == 28 END +BEGIN BOOST_PP_ARRAY_ELEM(17, (33, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32))) == 17 END +BEGIN BOOST_PP_ARRAY_ELEM(42, ARRAY_VERY_LARGE) == 42 END +BEGIN BOOST_PP_ARRAY_ELEM(62, (64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63))) == 62 END // size BEGIN BOOST_PP_ARRAY_SIZE(ARRAY) == 3 END BEGIN BOOST_PP_ARRAY_SIZE((5, (0, 1, 2, 3, 4))) == 5 END +BEGIN BOOST_PP_ARRAY_SIZE(ARRAY_LARGE) == 33 END +BEGIN BOOST_PP_ARRAY_SIZE((33, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32))) == 33 END +BEGIN BOOST_PP_ARRAY_SIZE(ARRAY_VERY_LARGE) == 64 END +BEGIN BOOST_PP_ARRAY_SIZE((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63))) == 64 END + +// enum + +# if BOOST_PP_VARIADICS + +BEGIN BOOST_PP_VARIADIC_ELEM(2,BOOST_PP_ARRAY_ENUM(ARRAY)) == 2 END +BEGIN BOOST_PP_VARIADIC_ELEM(3,BOOST_PP_ARRAY_ENUM((5, (0, 1, 2, 3, 4)))) == 3 END +BEGIN BOOST_PP_VARIADIC_ELEM(31,BOOST_PP_ARRAY_ENUM(ARRAY_LARGE)) == 31 END +BEGIN BOOST_PP_VARIADIC_ELEM(13,BOOST_PP_ARRAY_ENUM((33, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)))) == 13 END +BEGIN BOOST_PP_VARIADIC_ELEM(39,BOOST_PP_ARRAY_ENUM(ARRAY_VERY_LARGE)) == 39 END +BEGIN BOOST_PP_VARIADIC_ELEM(24,BOOST_PP_ARRAY_ENUM((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)))) == 24 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM((5, (0, 1, 2, 3, 4)))) == 5 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_LARGE)) == 33 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_VERY_LARGE)) == 64 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)))) == 64 END + +# endif + +// to_list + +BEGIN BOOST_PP_LIST_AT(BOOST_PP_ARRAY_TO_LIST(ARRAY), 1) == 1 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_ARRAY_TO_LIST((5, (0, 1, 2, 3, 4))), 4) == 4 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_ARRAY_TO_LIST((33, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32))), 26) == 26 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_ARRAY_TO_LIST(ARRAY_VERY_LARGE), 60) == 60 END + +// to_seq + +BEGIN BOOST_PP_SEQ_ELEM(0, BOOST_PP_ARRAY_TO_SEQ(ARRAY)) == 0 END +BEGIN BOOST_PP_SEQ_ELEM(3, BOOST_PP_ARRAY_TO_SEQ((5, (0, 1, 2, 3, 4)))) == 3 END +BEGIN BOOST_PP_SEQ_ELEM(17, BOOST_PP_ARRAY_TO_SEQ(ARRAY_LARGE)) == 17 END +BEGIN BOOST_PP_SEQ_ELEM(42, BOOST_PP_ARRAY_TO_SEQ((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)))) == 42 END + +// to_tuple + +# if BOOST_PP_VARIADICS + +BEGIN BOOST_PP_TUPLE_ELEM(2, BOOST_PP_ARRAY_TO_TUPLE(ARRAY)) == 2 END +BEGIN BOOST_PP_TUPLE_ELEM(1, BOOST_PP_ARRAY_TO_TUPLE((5, (0, 1, 2, 3, 4)))) == 1 END +BEGIN BOOST_PP_TUPLE_ELEM(26, BOOST_PP_ARRAY_TO_TUPLE(ARRAY_LARGE)) == 26 END +BEGIN BOOST_PP_TUPLE_ELEM(37, BOOST_PP_ARRAY_TO_TUPLE((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)))) == 37 END + +# else + +BEGIN BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_ARRAY_TO_TUPLE(ARRAY)) == 2 END +BEGIN BOOST_PP_TUPLE_ELEM(5, 1, BOOST_PP_ARRAY_TO_TUPLE((5, (0, 1, 2, 3, 4)))) == 1 END +BEGIN BOOST_PP_TUPLE_ELEM(33, 26, BOOST_PP_ARRAY_TO_TUPLE(ARRAY_LARGE)) == 26 END +BEGIN BOOST_PP_TUPLE_ELEM(64, 37, BOOST_PP_ARRAY_TO_TUPLE((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)))) == 37 END + +# endif diff --git a/test/comparison.c b/test/comparison.c new file mode 100644 index 0000000..77e7b1a --- /dev/null +++ b/test/comparison.c @@ -0,0 +1,45 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include + +/* equality */ + +BEGIN BOOST_PP_EQUAL(2, 0) == 0 END +BEGIN BOOST_PP_EQUAL(2, 2) == 1 END + +/* inequality */ + +BEGIN BOOST_PP_NOT_EQUAL(2, 0) == 1 END +BEGIN BOOST_PP_NOT_EQUAL(2, 2) == 0 END + +/* less */ + +BEGIN BOOST_PP_LESS(2, 1) == 0 END +BEGIN BOOST_PP_LESS(1, 2) == 1 END + +/* less_equal */ + +BEGIN BOOST_PP_LESS_EQUAL(2, 1) == 0 END +BEGIN BOOST_PP_LESS_EQUAL(1, 2) == 1 END +BEGIN BOOST_PP_LESS_EQUAL(2, 2) == 1 END + +/* greater */ + +BEGIN BOOST_PP_GREATER(2, 1) == 1 END +BEGIN BOOST_PP_GREATER(1, 2) == 0 END + +/* greater_equal */ + +BEGIN BOOST_PP_GREATER_EQUAL(2, 1) == 1 END +BEGIN BOOST_PP_GREATER_EQUAL(1, 2) == 0 END +BEGIN BOOST_PP_GREATER_EQUAL(2, 2) == 1 END diff --git a/test/control.c b/test/control.c new file mode 100644 index 0000000..0a2bb76 --- /dev/null +++ b/test/control.c @@ -0,0 +1,40 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include +# include +# include + +# define TR(x) 1 + +BEGIN BOOST_PP_EXPR_IIF(0, TR)(0) == 0 END +BEGIN BOOST_PP_EXPR_IIF(1, TR)(0) == 1 END + +BEGIN BOOST_PP_EXPR_IF(3, TR)(0) == 1 END +BEGIN BOOST_PP_EXPR_IF(0, TR)(0) == 0 END + +BEGIN BOOST_PP_IIF(0, 1, 0) == 0 END +BEGIN BOOST_PP_IIF(1, 1, 0) == 1 END + +BEGIN BOOST_PP_IF(0, 1, 0) == 0 END +BEGIN BOOST_PP_IF(9, 1, 0) == 1 END + +# define PRED(d, state) state +# define OP_1(d, state) BOOST_PP_DEC(state) + +BEGIN BOOST_PP_WHILE(PRED, OP_1, 50) == 0 END + +# define OP_2(d, state) BOOST_PP_DEC(BOOST_PP_ADD(BOOST_PP_WHILE(PRED, OP_1, state), state)) +# define OP_3(d, state) BOOST_PP_DEC(BOOST_PP_ADD_D(d, BOOST_PP_WHILE_ ## d(PRED, OP_1, state), state)) + +BEGIN BOOST_PP_WHILE(PRED, OP_2, 10) == 0 END +BEGIN BOOST_PP_WHILE(PRED, OP_3, 10) == 0 END diff --git a/test/debug.c b/test/debug.c new file mode 100644 index 0000000..6c4c5fa --- /dev/null +++ b/test/debug.c @@ -0,0 +1,21 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include + +BEGIN sizeof(BOOST_PP_ASSERT_MSG(0, "text") "") / sizeof(char) != 1 END +BEGIN sizeof(BOOST_PP_ASSERT_MSG(1, "text") "") / sizeof(char) == 1 END + +BOOST_PP_ASSERT(10) + +# line BOOST_PP_LINE(100, __FILE__) +BEGIN __LINE__ == 100 END diff --git a/test/facilities.c b/test/facilities.c new file mode 100644 index 0000000..31f7c77 --- /dev/null +++ b/test/facilities.c @@ -0,0 +1,28 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include +# include + +BEGIN BOOST_PP_APPLY(BOOST_PP_NIL) 0 == 0 END +BEGIN BOOST_PP_APPLY((0)) == 0 END + +BEGIN BOOST_PP_APPLY((BOOST_PP_EMPTY))() 0 == 0 END + +# define MACRO(x, y, z) 1 +# define ARGS (1, 2, 3) + +BEGIN BOOST_PP_EXPAND(MACRO ARGS) == 1 END + +BEGIN BOOST_PP_IDENTITY(1)() == 1 END + +BEGIN BOOST_PP_CAT(BOOST_PP_INTERCEPT, 2) 1 == 1 END diff --git a/test/iteration.h b/test/iteration.h index f2a1716..97e676b 100644 --- a/test/iteration.h +++ b/test/iteration.h @@ -29,7 +29,6 @@ # include BOOST_PP_ITERATE() # # else -# # if defined NO_FLAGS struct BOOST_PP_CAT(X, BOOST_PP_ITERATION()) { diff --git a/test/list.c b/test/list.c new file mode 100644 index 0000000..3e83a04 --- /dev/null +++ b/test/list.c @@ -0,0 +1,61 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2011) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include +# include +# include +# include +# include +# include +# include + +# define LIST (4, (1, (5, (2, BOOST_PP_NIL)))) + +# define REVERSAL(d, x, y) BOOST_PP_SUB_D(d, y, x) + +BEGIN BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_SUB_D, 22, LIST) == 10 END +BEGIN BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_ADD_D, 0, LIST) == 12 END +BEGIN BOOST_PP_LIST_FOLD_RIGHT(REVERSAL, 0, LIST) == 4 END + +BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_REVERSE(LIST)) == 2514 END + +BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_REST_N(2, LIST)) == 52 END +BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_FIRST_N(2, LIST)) == 41 END + +BEGIN BOOST_PP_LIST_AT(LIST, 2) == 5 END +BEGIN BOOST_PP_LIST_SIZE(LIST) == 4 END + +BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_TRANSFORM(BOOST_PP_ADD_D, 2, LIST)) == 6374 END +BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_APPEND(BOOST_PP_LIST_REST(LIST), LIST)) == 1524152 END + +# define F1(r, state, x) + x + state +BEGIN BOOST_PP_LIST_FOR_EACH(F1, 1, LIST) == 16 END + +BEGIN BOOST_PP_TUPLE_ELEM(4, 3, BOOST_PP_LIST_TO_TUPLE(LIST)) == 2 END + +BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_FILTER(BOOST_PP_LESS_D, 3, LIST)) == 45 END + +# define F2(r, x) + BOOST_PP_TUPLE_ELEM(2, 0, x) + 2 - BOOST_PP_TUPLE_ELEM(2, 1, x) +BEGIN BOOST_PP_LIST_FOR_EACH_PRODUCT(F2, 2, ( (1, (0, BOOST_PP_NIL)), (2, (3, BOOST_PP_NIL)) )) == 0 END + +# define L1 (0, (x, BOOST_PP_NIL)) +# define L2 (a, (1, (b, (2, BOOST_PP_NIL)))) +# define L3 (c, (3, (d, BOOST_PP_NIL))) + +# define LL (L1, (L2, (L3, BOOST_PP_NIL))) + +BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_APPEND_D, BOOST_PP_NIL, LL)) == 0x0a1b2c3d END + +BEGIN BOOST_PP_ARRAY_ELEM(2, BOOST_PP_LIST_TO_ARRAY(LIST)) == 5 END +BEGIN BOOST_PP_SEQ_ELEM(3, BOOST_PP_LIST_TO_SEQ(LIST)) == 2 END diff --git a/test/list.cpp b/test/list.cpp index 6696e0a..3e83a04 100644 --- a/test/list.cpp +++ b/test/list.cpp @@ -7,6 +7,8 @@ # * * # ************************************************************************** */ # +# /* Revised by Edward Diener (2011) */ +# # /* See http://www.boost.org for most recent version. */ # # include @@ -14,6 +16,8 @@ # include # include # include +# include +# include # include # define LIST (4, (1, (5, (2, BOOST_PP_NIL)))) @@ -52,3 +56,6 @@ BEGIN BOOST_PP_LIST_FOR_EACH_PRODUCT(F2, 2, ( (1, (0, BOOST_PP_NIL)), (2, (3, BO # define LL (L1, (L2, (L3, BOOST_PP_NIL))) BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_APPEND_D, BOOST_PP_NIL, LL)) == 0x0a1b2c3d END + +BEGIN BOOST_PP_ARRAY_ELEM(2, BOOST_PP_LIST_TO_ARRAY(LIST)) == 5 END +BEGIN BOOST_PP_SEQ_ELEM(3, BOOST_PP_LIST_TO_SEQ(LIST)) == 2 END diff --git a/test/logical.c b/test/logical.c new file mode 100644 index 0000000..ec770a5 --- /dev/null +++ b/test/logical.c @@ -0,0 +1,36 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include + +BEGIN BOOST_PP_NOT(0) == 1 END +BEGIN BOOST_PP_NOT(2) == 0 END + +BEGIN BOOST_PP_AND(0, 0) == 0 END +BEGIN BOOST_PP_AND(0, 3) == 0 END +BEGIN BOOST_PP_AND(4, 0) == 0 END +BEGIN BOOST_PP_AND(5, 6) == 1 END + +BEGIN BOOST_PP_OR(0, 0) == 0 END +BEGIN BOOST_PP_OR(0, 7) == 1 END +BEGIN BOOST_PP_OR(8, 0) == 1 END +BEGIN BOOST_PP_OR(9, 1) == 1 END + +BEGIN BOOST_PP_XOR(0, 0) == 0 END +BEGIN BOOST_PP_XOR(0, 2) == 1 END +BEGIN BOOST_PP_XOR(3, 0) == 1 END +BEGIN BOOST_PP_XOR(4, 5) == 0 END + +BEGIN BOOST_PP_NOR(0, 0) == 1 END +BEGIN BOOST_PP_NOR(0, 6) == 0 END +BEGIN BOOST_PP_NOR(7, 0) == 0 END +BEGIN BOOST_PP_NOR(8, 9) == 0 END diff --git a/test/selection.c b/test/selection.c new file mode 100644 index 0000000..b528934 --- /dev/null +++ b/test/selection.c @@ -0,0 +1,21 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include + +BEGIN BOOST_PP_MAX(2, 2) == 2 END +BEGIN BOOST_PP_MAX(2, 1) == 2 END +BEGIN BOOST_PP_MAX(1, 2) == 2 END + +BEGIN BOOST_PP_MIN(2, 2) == 2 END +BEGIN BOOST_PP_MIN(2, 1) == 1 END +BEGIN BOOST_PP_MIN(1, 2) == 1 END diff --git a/test/seq.c b/test/seq.c new file mode 100644 index 0000000..819ccb2 --- /dev/null +++ b/test/seq.c @@ -0,0 +1,90 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2011) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include +# include +# include +# include +# include +# include + +# define SEQ (4)(1)(5)(2) + +# define REVERSAL(s, x, y) BOOST_PP_SUB(y, x) +# define SUB_S(s, x, y) BOOST_PP_SUB(x, y) +# define ADD_S(s, x, y) BOOST_PP_ADD(x, y) + +BEGIN BOOST_PP_SEQ_FOLD_LEFT(SUB_S, 22, SEQ) == 10 END +BEGIN BOOST_PP_SEQ_FOLD_RIGHT(ADD_S, 0, SEQ) == 12 END +BEGIN BOOST_PP_SEQ_FOLD_RIGHT(REVERSAL, 0, SEQ) == 4 END + +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_REVERSE(SEQ)) == 2514 END + +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_REST_N(2, SEQ)) == 52 END +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_FIRST_N(2, SEQ)) == 41 END + +BEGIN BOOST_PP_SEQ_ELEM(2, SEQ) == 5 END +BEGIN BOOST_PP_SEQ_SIZE(SEQ) == 4 END + +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_TRANSFORM(ADD_S, 2, SEQ)) == 6374 END +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_TAIL(SEQ) SEQ) == 1524152 END + +# define F1(r, state, x) + x + state +BEGIN BOOST_PP_SEQ_FOR_EACH(F1, 1, SEQ) == 16 END + +BEGIN BOOST_PP_TUPLE_ELEM(4, 3, BOOST_PP_SEQ_TO_TUPLE(SEQ)) == 2 END + +# define LESS_S(s, x, y) BOOST_PP_LESS(x, y) +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_FILTER(LESS_S, 3, SEQ)) == 45 END + +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_INSERT(SEQ, 0, 3)) == 34152 END +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_INSERT(SEQ, 2, 3)) == 41352 END +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_INSERT(SEQ, 4, 3)) == 41523 END + +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_POP_BACK(SEQ)) == 415 END +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_POP_FRONT(SEQ)) == 152 END + +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_PUSH_FRONT(SEQ, 3)) == 34152 END +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_PUSH_BACK(SEQ, 3)) == 41523 END + +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_REMOVE(SEQ, 0)) == 152 END +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_REMOVE(SEQ, 2)) == 412 END +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_REMOVE(SEQ, 3)) == 415 END + +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_REPLACE(SEQ, 0, 3)) == 3152 END +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_REPLACE(SEQ, 1, 3)) == 4352 END +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_REPLACE(SEQ, 3, 3)) == 4153 END + +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_SUBSEQ(SEQ, 0, 4)) == 4152 END +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_SUBSEQ(SEQ, 0, 2)) == 41 END +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_SUBSEQ(SEQ, 1, 2)) == 15 END +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_SUBSEQ(SEQ, 2, 2)) == 52 END + +# define F2(r, x) + BOOST_PP_SEQ_ELEM(0, x) + 2 - BOOST_PP_SEQ_ELEM(1, x) + +#define ADD_NIL(x) x(nil) + +BEGIN BOOST_PP_SEQ_FOR_EACH_PRODUCT(F2, ((1)(0)) ((2)(3))) == 0 END + +# define L1 (0)(x) +# define L2 (a)(1)(b)(2) +# define L3 (c)(3)(d) + +# define LL (L1)(L2)(L3) + +#define SEQ_APPEND(s, state, elem) state elem +BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_TAIL(BOOST_PP_SEQ_FOLD_LEFT(SEQ_APPEND, (~), LL))) == 0x0a1b2c3d END +BEGIN BOOST_PP_SEQ_SIZE(BOOST_PP_SEQ_TAIL(BOOST_PP_SEQ_FOLD_LEFT(SEQ_APPEND, (~), LL))) == 9 END + +BEGIN BOOST_PP_LIST_AT(BOOST_PP_SEQ_TO_LIST(SEQ), 2) == 5 END diff --git a/test/seq.cpp b/test/seq.cpp index 8320ac1..819ccb2 100644 --- a/test/seq.cpp +++ b/test/seq.cpp @@ -7,6 +7,8 @@ # * * # ************************************************************************** */ # +# /* Revised by Edward Diener (2011) */ +# # /* See http://www.boost.org for most recent version. */ # # include @@ -14,6 +16,7 @@ # include # include # include +# include # include # define SEQ (4)(1)(5)(2) @@ -83,3 +86,5 @@ BEGIN BOOST_PP_SEQ_FOR_EACH_PRODUCT(F2, ((1)(0)) ((2)(3))) == 0 END #define SEQ_APPEND(s, state, elem) state elem BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_TAIL(BOOST_PP_SEQ_FOLD_LEFT(SEQ_APPEND, (~), LL))) == 0x0a1b2c3d END BEGIN BOOST_PP_SEQ_SIZE(BOOST_PP_SEQ_TAIL(BOOST_PP_SEQ_FOLD_LEFT(SEQ_APPEND, (~), LL))) == 9 END + +BEGIN BOOST_PP_LIST_AT(BOOST_PP_SEQ_TO_LIST(SEQ), 2) == 5 END diff --git a/test/slot.c b/test/slot.c new file mode 100644 index 0000000..d4aee49 --- /dev/null +++ b/test/slot.c @@ -0,0 +1,27 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include + +# define X() 4 + +# define BOOST_PP_VALUE 1 + 2 + 3 + X() +# include BOOST_PP_ASSIGN_SLOT(1) + +# undef X + +BEGIN BOOST_PP_SLOT(1) == 10 END + +# define BOOST_PP_VALUE BOOST_PP_SLOT(1) * BOOST_PP_SLOT(1) +# include BOOST_PP_ASSIGN_SLOT(1) + +BEGIN BOOST_PP_SLOT(1) == 100 END diff --git a/test/test.h b/test/test.h index fa60800..a5b37d6 100644 --- a/test/test.h +++ b/test/test.h @@ -19,12 +19,15 @@ # define BEGIN typedef int BOOST_PP_CAT(test_, __LINE__)[(( # define END )==1) ? 1 : -1]; +#if defined(__cplusplus) #include - #if !defined(_STLP_MSVC) || _STLP_MSVC >= 1300 namespace std { } using namespace std; #endif +#else +#include +#endif int main(void) { printf("pass " __TIME__); diff --git a/test/tuple.c b/test/tuple.c new file mode 100644 index 0000000..598e09b --- /dev/null +++ b/test/tuple.c @@ -0,0 +1,104 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * 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) +# * * +# ************************************************************************** */ +# +# /* Revised by Edward Diener (2011) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include +# include +# include +# if BOOST_PP_VARIADICS +# include +# include +# endif +# include + +# define TUPLE (0, 1, 2, 3, 4, 5) +# define TUPLE_LARGE (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32) +# define TUPLE_VERY_LARGE (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63) +# define T2 (+3, /2, +6) + +#if BOOST_PP_VARIADICS + +# define CALC(x) BOOST_PP_TUPLE_ELEM(0, x) BOOST_PP_TUPLE_ELEM(1, x) BOOST_PP_TUPLE_ELEM(2, x) +# define TEST_EAT BOOST_PP_TUPLE_EAT()(1, 2) 4 +# define TEST_EAT_LARGE BOOST_PP_TUPLE_EAT()(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32) 6 +# define TEST_EAT_VERY_LARGE BOOST_PP_TUPLE_EAT()(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63) 8 + +#else + +# define CALC(x) BOOST_PP_TUPLE_ELEM(3, 0, x) BOOST_PP_TUPLE_ELEM(3, 1, x) BOOST_PP_TUPLE_ELEM(3, 2, x) +# define TEST_EAT BOOST_PP_TUPLE_EAT(2)(1, 2) 4 +# define TEST_EAT_LARGE BOOST_PP_TUPLE_EAT(33)(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32) 6 +# define TEST_EAT_VERY_LARGE BOOST_PP_TUPLE_EAT(64)(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63) 8 + +#endif + +BEGIN BOOST_PP_TUPLE_ELEM(6, 3, TUPLE) == 3 END +BEGIN BOOST_PP_TUPLE_ELEM(6, 5, TUPLE) == 5 END +BEGIN BOOST_PP_TUPLE_ELEM(33, 15, TUPLE_LARGE) == 15 END +BEGIN BOOST_PP_TUPLE_ELEM(33, 27, TUPLE_LARGE) == 27 END +BEGIN BOOST_PP_TUPLE_ELEM(33, 32, TUPLE_LARGE) == 32 END +BEGIN BOOST_PP_TUPLE_ELEM(64, 22, TUPLE_VERY_LARGE) == 22 END +BEGIN BOOST_PP_TUPLE_ELEM(64, 47, TUPLE_VERY_LARGE) == 47 END +BEGIN BOOST_PP_TUPLE_ELEM(64, 63, TUPLE_VERY_LARGE) == 63 END +BEGIN BOOST_PP_TUPLE_ELEM(6, 2, BOOST_PP_TUPLE_REVERSE(6,TUPLE)) == 3 END +BEGIN BOOST_PP_TUPLE_ELEM(33, 27, BOOST_PP_TUPLE_REVERSE(33,TUPLE_LARGE)) == 5 END +BEGIN BOOST_PP_TUPLE_ELEM(64, 43, BOOST_PP_TUPLE_REVERSE(64,TUPLE_VERY_LARGE)) == 20 END +BEGIN CALC(T2) == 7 END +BEGIN CALC(BOOST_PP_TUPLE_REVERSE(3, T2)) == 6 END +BEGIN TEST_EAT == 4 END +BEGIN TEST_EAT_LARGE == 6 END +BEGIN TEST_EAT_VERY_LARGE == 8 END +BEGIN BOOST_PP_ARRAY_ELEM(3,BOOST_PP_TUPLE_TO_ARRAY(6,TUPLE)) == 3 END +BEGIN BOOST_PP_ARRAY_ELEM(29,BOOST_PP_TUPLE_TO_ARRAY(33,TUPLE_LARGE)) == 29 END +BEGIN BOOST_PP_ARRAY_ELEM(61,BOOST_PP_TUPLE_TO_ARRAY(64,TUPLE_VERY_LARGE)) == 61 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(6,TUPLE), 2) == 2 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(33,TUPLE_LARGE), 19) == 19 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(64,TUPLE_VERY_LARGE), 62) == 62 END +BEGIN BOOST_PP_SEQ_ELEM(4,BOOST_PP_TUPLE_TO_SEQ(6,TUPLE)) == 4 END +BEGIN BOOST_PP_SEQ_ELEM(31,BOOST_PP_TUPLE_TO_SEQ(33,TUPLE_LARGE)) == 31 END +BEGIN BOOST_PP_SEQ_ELEM(55,BOOST_PP_TUPLE_TO_SEQ(64,TUPLE_VERY_LARGE)) == 55 END + +#if BOOST_PP_VARIADICS + +BEGIN BOOST_PP_TUPLE_ELEM(3, TUPLE) == 3 END +BEGIN BOOST_PP_TUPLE_ELEM(5, TUPLE) == 5 END +BEGIN BOOST_PP_TUPLE_ELEM(15, TUPLE_LARGE) == 15 END +BEGIN BOOST_PP_TUPLE_ELEM(27, TUPLE_LARGE) == 27 END +BEGIN BOOST_PP_TUPLE_ELEM(32, TUPLE_LARGE) == 32 END +BEGIN BOOST_PP_TUPLE_ELEM(22, TUPLE_VERY_LARGE) == 22 END +BEGIN BOOST_PP_TUPLE_ELEM(47, TUPLE_VERY_LARGE) == 47 END +BEGIN BOOST_PP_TUPLE_ELEM(63, TUPLE_VERY_LARGE) == 63 END +BEGIN BOOST_PP_TUPLE_ELEM(2, BOOST_PP_TUPLE_REVERSE(TUPLE)) == 3 END +BEGIN BOOST_PP_TUPLE_ELEM(27, BOOST_PP_TUPLE_REVERSE(TUPLE_LARGE)) == 5 END +BEGIN BOOST_PP_TUPLE_ELEM(43, BOOST_PP_TUPLE_REVERSE(TUPLE_VERY_LARGE)) == 20 END +BEGIN CALC(BOOST_PP_TUPLE_REVERSE(T2)) == 6 END +BEGIN BOOST_PP_VARIADIC_ELEM(2,BOOST_PP_TUPLE_ENUM(BOOST_PP_TUPLE_REVERSE(TUPLE))) == 3 END +BEGIN BOOST_PP_VARIADIC_ELEM(27,BOOST_PP_TUPLE_ENUM(BOOST_PP_TUPLE_REVERSE(TUPLE_LARGE))) == 5 END +BEGIN BOOST_PP_VARIADIC_ELEM(45,BOOST_PP_TUPLE_ENUM(BOOST_PP_TUPLE_REVERSE(TUPLE_VERY_LARGE))) == 18 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE)) == 6 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_LARGE)) == 33 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_VERY_LARGE)) == 64 END +BEGIN BOOST_PP_TUPLE_SIZE(TUPLE) == 6 END +BEGIN BOOST_PP_TUPLE_SIZE(TUPLE_LARGE) == 33 END +BEGIN BOOST_PP_TUPLE_SIZE(TUPLE_VERY_LARGE) == 64 END +BEGIN BOOST_PP_ARRAY_ELEM(3,BOOST_PP_TUPLE_TO_ARRAY(TUPLE)) == 3 END +BEGIN BOOST_PP_ARRAY_ELEM(29,BOOST_PP_TUPLE_TO_ARRAY(TUPLE_LARGE)) == 29 END +BEGIN BOOST_PP_ARRAY_ELEM(61,BOOST_PP_TUPLE_TO_ARRAY(TUPLE_VERY_LARGE)) == 61 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE), 2) == 2 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE_LARGE), 19) == 19 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE_VERY_LARGE), 62) == 62 END +BEGIN BOOST_PP_SEQ_ELEM(4,BOOST_PP_TUPLE_TO_SEQ(TUPLE)) == 4 END +BEGIN BOOST_PP_SEQ_ELEM(31,BOOST_PP_TUPLE_TO_SEQ(TUPLE_LARGE)) == 31 END +BEGIN BOOST_PP_SEQ_ELEM(55,BOOST_PP_TUPLE_TO_SEQ(TUPLE_VERY_LARGE)) == 55 END + +#endif diff --git a/test/tuple.cpp b/test/tuple.cpp index 87d170c..598e09b 100644 --- a/test/tuple.cpp +++ b/test/tuple.cpp @@ -7,18 +7,98 @@ # * * # ************************************************************************** */ # +# /* Revised by Edward Diener (2011) */ +# # /* See http://www.boost.org for most recent version. */ # # include +# include +# include +# include +# if BOOST_PP_VARIADICS +# include +# include +# endif # include # define TUPLE (0, 1, 2, 3, 4, 5) +# define TUPLE_LARGE (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32) +# define TUPLE_VERY_LARGE (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63) +# define T2 (+3, /2, +6) + +#if BOOST_PP_VARIADICS + +# define CALC(x) BOOST_PP_TUPLE_ELEM(0, x) BOOST_PP_TUPLE_ELEM(1, x) BOOST_PP_TUPLE_ELEM(2, x) +# define TEST_EAT BOOST_PP_TUPLE_EAT()(1, 2) 4 +# define TEST_EAT_LARGE BOOST_PP_TUPLE_EAT()(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32) 6 +# define TEST_EAT_VERY_LARGE BOOST_PP_TUPLE_EAT()(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63) 8 + +#else + +# define CALC(x) BOOST_PP_TUPLE_ELEM(3, 0, x) BOOST_PP_TUPLE_ELEM(3, 1, x) BOOST_PP_TUPLE_ELEM(3, 2, x) +# define TEST_EAT BOOST_PP_TUPLE_EAT(2)(1, 2) 4 +# define TEST_EAT_LARGE BOOST_PP_TUPLE_EAT(33)(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32) 6 +# define TEST_EAT_VERY_LARGE BOOST_PP_TUPLE_EAT(64)(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63) 8 + +#endif BEGIN BOOST_PP_TUPLE_ELEM(6, 3, TUPLE) == 3 END BEGIN BOOST_PP_TUPLE_ELEM(6, 5, TUPLE) == 5 END - -# define CALC(x) BOOST_PP_TUPLE_ELEM(3, 0, x) BOOST_PP_TUPLE_ELEM(3, 1, x) BOOST_PP_TUPLE_ELEM(3, 2, x) -# define T2 (+3, /2, +6) - +BEGIN BOOST_PP_TUPLE_ELEM(33, 15, TUPLE_LARGE) == 15 END +BEGIN BOOST_PP_TUPLE_ELEM(33, 27, TUPLE_LARGE) == 27 END +BEGIN BOOST_PP_TUPLE_ELEM(33, 32, TUPLE_LARGE) == 32 END +BEGIN BOOST_PP_TUPLE_ELEM(64, 22, TUPLE_VERY_LARGE) == 22 END +BEGIN BOOST_PP_TUPLE_ELEM(64, 47, TUPLE_VERY_LARGE) == 47 END +BEGIN BOOST_PP_TUPLE_ELEM(64, 63, TUPLE_VERY_LARGE) == 63 END +BEGIN BOOST_PP_TUPLE_ELEM(6, 2, BOOST_PP_TUPLE_REVERSE(6,TUPLE)) == 3 END +BEGIN BOOST_PP_TUPLE_ELEM(33, 27, BOOST_PP_TUPLE_REVERSE(33,TUPLE_LARGE)) == 5 END +BEGIN BOOST_PP_TUPLE_ELEM(64, 43, BOOST_PP_TUPLE_REVERSE(64,TUPLE_VERY_LARGE)) == 20 END BEGIN CALC(T2) == 7 END BEGIN CALC(BOOST_PP_TUPLE_REVERSE(3, T2)) == 6 END +BEGIN TEST_EAT == 4 END +BEGIN TEST_EAT_LARGE == 6 END +BEGIN TEST_EAT_VERY_LARGE == 8 END +BEGIN BOOST_PP_ARRAY_ELEM(3,BOOST_PP_TUPLE_TO_ARRAY(6,TUPLE)) == 3 END +BEGIN BOOST_PP_ARRAY_ELEM(29,BOOST_PP_TUPLE_TO_ARRAY(33,TUPLE_LARGE)) == 29 END +BEGIN BOOST_PP_ARRAY_ELEM(61,BOOST_PP_TUPLE_TO_ARRAY(64,TUPLE_VERY_LARGE)) == 61 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(6,TUPLE), 2) == 2 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(33,TUPLE_LARGE), 19) == 19 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(64,TUPLE_VERY_LARGE), 62) == 62 END +BEGIN BOOST_PP_SEQ_ELEM(4,BOOST_PP_TUPLE_TO_SEQ(6,TUPLE)) == 4 END +BEGIN BOOST_PP_SEQ_ELEM(31,BOOST_PP_TUPLE_TO_SEQ(33,TUPLE_LARGE)) == 31 END +BEGIN BOOST_PP_SEQ_ELEM(55,BOOST_PP_TUPLE_TO_SEQ(64,TUPLE_VERY_LARGE)) == 55 END + +#if BOOST_PP_VARIADICS + +BEGIN BOOST_PP_TUPLE_ELEM(3, TUPLE) == 3 END +BEGIN BOOST_PP_TUPLE_ELEM(5, TUPLE) == 5 END +BEGIN BOOST_PP_TUPLE_ELEM(15, TUPLE_LARGE) == 15 END +BEGIN BOOST_PP_TUPLE_ELEM(27, TUPLE_LARGE) == 27 END +BEGIN BOOST_PP_TUPLE_ELEM(32, TUPLE_LARGE) == 32 END +BEGIN BOOST_PP_TUPLE_ELEM(22, TUPLE_VERY_LARGE) == 22 END +BEGIN BOOST_PP_TUPLE_ELEM(47, TUPLE_VERY_LARGE) == 47 END +BEGIN BOOST_PP_TUPLE_ELEM(63, TUPLE_VERY_LARGE) == 63 END +BEGIN BOOST_PP_TUPLE_ELEM(2, BOOST_PP_TUPLE_REVERSE(TUPLE)) == 3 END +BEGIN BOOST_PP_TUPLE_ELEM(27, BOOST_PP_TUPLE_REVERSE(TUPLE_LARGE)) == 5 END +BEGIN BOOST_PP_TUPLE_ELEM(43, BOOST_PP_TUPLE_REVERSE(TUPLE_VERY_LARGE)) == 20 END +BEGIN CALC(BOOST_PP_TUPLE_REVERSE(T2)) == 6 END +BEGIN BOOST_PP_VARIADIC_ELEM(2,BOOST_PP_TUPLE_ENUM(BOOST_PP_TUPLE_REVERSE(TUPLE))) == 3 END +BEGIN BOOST_PP_VARIADIC_ELEM(27,BOOST_PP_TUPLE_ENUM(BOOST_PP_TUPLE_REVERSE(TUPLE_LARGE))) == 5 END +BEGIN BOOST_PP_VARIADIC_ELEM(45,BOOST_PP_TUPLE_ENUM(BOOST_PP_TUPLE_REVERSE(TUPLE_VERY_LARGE))) == 18 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE)) == 6 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_LARGE)) == 33 END +BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_ENUM(TUPLE_VERY_LARGE)) == 64 END +BEGIN BOOST_PP_TUPLE_SIZE(TUPLE) == 6 END +BEGIN BOOST_PP_TUPLE_SIZE(TUPLE_LARGE) == 33 END +BEGIN BOOST_PP_TUPLE_SIZE(TUPLE_VERY_LARGE) == 64 END +BEGIN BOOST_PP_ARRAY_ELEM(3,BOOST_PP_TUPLE_TO_ARRAY(TUPLE)) == 3 END +BEGIN BOOST_PP_ARRAY_ELEM(29,BOOST_PP_TUPLE_TO_ARRAY(TUPLE_LARGE)) == 29 END +BEGIN BOOST_PP_ARRAY_ELEM(61,BOOST_PP_TUPLE_TO_ARRAY(TUPLE_VERY_LARGE)) == 61 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE), 2) == 2 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE_LARGE), 19) == 19 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE_VERY_LARGE), 62) == 62 END +BEGIN BOOST_PP_SEQ_ELEM(4,BOOST_PP_TUPLE_TO_SEQ(TUPLE)) == 4 END +BEGIN BOOST_PP_SEQ_ELEM(31,BOOST_PP_TUPLE_TO_SEQ(TUPLE_LARGE)) == 31 END +BEGIN BOOST_PP_SEQ_ELEM(55,BOOST_PP_TUPLE_TO_SEQ(TUPLE_VERY_LARGE)) == 55 END + +#endif diff --git a/test/variadic.c b/test/variadic.c new file mode 100644 index 0000000..e1a3a15 --- /dev/null +++ b/test/variadic.c @@ -0,0 +1,56 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +#if BOOST_PP_VARIADICS + +#define VDATA 0,1,2,3,4,5,6 +#define VDATA_LARGE 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 +#define VDATA_VERY_LARGE 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 + +BEGIN BOOST_PP_VARIADIC_ELEM(4,VDATA) == 4 END +BEGIN BOOST_PP_VARIADIC_ELEM(6,7,11,3,8,14,85,56,92,165) == 56 END +BEGIN BOOST_PP_VARIADIC_ELEM(29,VDATA_LARGE) == 29 END +BEGIN BOOST_PP_VARIADIC_ELEM(57,VDATA_VERY_LARGE) == 57 END +BEGIN BOOST_PP_VARIADIC_ELEM(35, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63) == 35 END +BEGIN BOOST_PP_VARIADIC_SIZE(VDATA) == 7 END +BEGIN BOOST_PP_VARIADIC_SIZE(7,11,3,8,14,85,56,92,165) == 9 END +BEGIN BOOST_PP_VARIADIC_SIZE(VDATA_LARGE) == 33 END +BEGIN BOOST_PP_VARIADIC_SIZE(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32) == 33 END +BEGIN BOOST_PP_VARIADIC_SIZE(VDATA_VERY_LARGE) == 64 END +BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_VARIADIC_TO_ARRAY(VDATA)) == 7 END +BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_VARIADIC_TO_ARRAY(VDATA_VERY_LARGE)) == 64 END +BEGIN BOOST_PP_ARRAY_ELEM(4,BOOST_PP_VARIADIC_TO_ARRAY(7,11,3,8,14,85,56,92,165)) == 14 END +BEGIN BOOST_PP_ARRAY_ELEM(30,BOOST_PP_VARIADIC_TO_ARRAY(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)) == 30 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_VARIADIC_TO_LIST(VDATA),3) == 3 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_VARIADIC_TO_LIST(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63),49) == 49 END +BEGIN BOOST_PP_LIST_SIZE(BOOST_PP_VARIADIC_TO_LIST(7,11,3,8,14,85,56,92,165)) == 9 END +BEGIN BOOST_PP_LIST_SIZE(BOOST_PP_VARIADIC_TO_LIST(VDATA_LARGE)) == 33 END +BEGIN BOOST_PP_SEQ_ELEM(5,BOOST_PP_VARIADIC_TO_SEQ(VDATA)) == 5 END +BEGIN BOOST_PP_SEQ_ELEM(16,BOOST_PP_VARIADIC_TO_SEQ(VDATA_LARGE)) == 16 END +BEGIN BOOST_PP_SEQ_SIZE(BOOST_PP_VARIADIC_TO_SEQ(3,78,22,11,3)) == 5 END +BEGIN BOOST_PP_SEQ_SIZE(BOOST_PP_VARIADIC_TO_SEQ(VDATA_VERY_LARGE)) == 64 END +BEGIN BOOST_PP_TUPLE_SIZE(BOOST_PP_VARIADIC_TO_TUPLE(VDATA)) == 7 END +BEGIN BOOST_PP_TUPLE_SIZE(BOOST_PP_VARIADIC_TO_TUPLE(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)) == 64 END +BEGIN BOOST_PP_TUPLE_ELEM(8,BOOST_PP_VARIADIC_TO_TUPLE(7,11,3,8,14,85,56,92,165)) == 165 END +BEGIN BOOST_PP_TUPLE_ELEM(27,BOOST_PP_VARIADIC_TO_TUPLE(VDATA_LARGE)) == 27 END + +#endif diff --git a/test/variadic.cpp b/test/variadic.cpp new file mode 100644 index 0000000..e1a3a15 --- /dev/null +++ b/test/variadic.cpp @@ -0,0 +1,56 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Edward Diener 2011. +# * 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) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +#if BOOST_PP_VARIADICS + +#define VDATA 0,1,2,3,4,5,6 +#define VDATA_LARGE 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 +#define VDATA_VERY_LARGE 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 + +BEGIN BOOST_PP_VARIADIC_ELEM(4,VDATA) == 4 END +BEGIN BOOST_PP_VARIADIC_ELEM(6,7,11,3,8,14,85,56,92,165) == 56 END +BEGIN BOOST_PP_VARIADIC_ELEM(29,VDATA_LARGE) == 29 END +BEGIN BOOST_PP_VARIADIC_ELEM(57,VDATA_VERY_LARGE) == 57 END +BEGIN BOOST_PP_VARIADIC_ELEM(35, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63) == 35 END +BEGIN BOOST_PP_VARIADIC_SIZE(VDATA) == 7 END +BEGIN BOOST_PP_VARIADIC_SIZE(7,11,3,8,14,85,56,92,165) == 9 END +BEGIN BOOST_PP_VARIADIC_SIZE(VDATA_LARGE) == 33 END +BEGIN BOOST_PP_VARIADIC_SIZE(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32) == 33 END +BEGIN BOOST_PP_VARIADIC_SIZE(VDATA_VERY_LARGE) == 64 END +BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_VARIADIC_TO_ARRAY(VDATA)) == 7 END +BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_VARIADIC_TO_ARRAY(VDATA_VERY_LARGE)) == 64 END +BEGIN BOOST_PP_ARRAY_ELEM(4,BOOST_PP_VARIADIC_TO_ARRAY(7,11,3,8,14,85,56,92,165)) == 14 END +BEGIN BOOST_PP_ARRAY_ELEM(30,BOOST_PP_VARIADIC_TO_ARRAY(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)) == 30 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_VARIADIC_TO_LIST(VDATA),3) == 3 END +BEGIN BOOST_PP_LIST_AT(BOOST_PP_VARIADIC_TO_LIST(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63),49) == 49 END +BEGIN BOOST_PP_LIST_SIZE(BOOST_PP_VARIADIC_TO_LIST(7,11,3,8,14,85,56,92,165)) == 9 END +BEGIN BOOST_PP_LIST_SIZE(BOOST_PP_VARIADIC_TO_LIST(VDATA_LARGE)) == 33 END +BEGIN BOOST_PP_SEQ_ELEM(5,BOOST_PP_VARIADIC_TO_SEQ(VDATA)) == 5 END +BEGIN BOOST_PP_SEQ_ELEM(16,BOOST_PP_VARIADIC_TO_SEQ(VDATA_LARGE)) == 16 END +BEGIN BOOST_PP_SEQ_SIZE(BOOST_PP_VARIADIC_TO_SEQ(3,78,22,11,3)) == 5 END +BEGIN BOOST_PP_SEQ_SIZE(BOOST_PP_VARIADIC_TO_SEQ(VDATA_VERY_LARGE)) == 64 END +BEGIN BOOST_PP_TUPLE_SIZE(BOOST_PP_VARIADIC_TO_TUPLE(VDATA)) == 7 END +BEGIN BOOST_PP_TUPLE_SIZE(BOOST_PP_VARIADIC_TO_TUPLE(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)) == 64 END +BEGIN BOOST_PP_TUPLE_ELEM(8,BOOST_PP_VARIADIC_TO_TUPLE(7,11,3,8,14,85,56,92,165)) == 165 END +BEGIN BOOST_PP_TUPLE_ELEM(27,BOOST_PP_VARIADIC_TO_TUPLE(VDATA_LARGE)) == 27 END + +#endif