Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r72161 - in branches/pplib/v2/libs: . preprocessor preprocessor/doc preprocessor/doc/data preprocessor/doc/examples preprocessor/doc/headers preprocessor/doc/headers/arithmetic preprocessor/doc/headers/array preprocessor/doc/headers/comparison preprocessor/doc/headers/config preprocessor/doc/headers/control preprocessor/doc/headers/debug preprocessor/doc/headers/facilities preprocessor/doc/headers/iteration preprocessor/doc/headers/list preprocessor/doc/headers/logical preprocessor/doc/headers/punctuation preprocessor/doc/headers/repetition preprocessor/doc/headers/selection preprocessor/doc/headers/seq preprocessor/doc/headers/slot preprocessor/doc/headers/tuple preprocessor/doc/headers/variadic preprocessor/doc/ref preprocessor/doc/terms preprocessor/doc/topics preprocessor/test
From: eldiener_at_[hidden]
Date: 2011-05-25 12:31:12


Author: eldiener
Date: 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
New Revision: 72161
URL: http://svn.boost.org/trac/boost/changeset/72161

Log:
Added new documentation and tests.
Added:
   branches/pplib/v2/libs/
   branches/pplib/v2/libs/preprocessor/
   branches/pplib/v2/libs/preprocessor/doc/
   branches/pplib/v2/libs/preprocessor/doc/acknowledgements.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/bibliography.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/contents.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/data/
   branches/pplib/v2/libs/preprocessor/doc/data.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/data/arrays.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/data/lists.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/data/sequences.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/data/tuples.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/examples/
   branches/pplib/v2/libs/preprocessor/doc/examples.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/examples/array_arithmetic.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/examples/catch_builtin.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/examples/delay.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/examples/duffs_device.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/examples/is_integral.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/examples/linear_fib.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/
   branches/pplib/v2/libs/preprocessor/doc/headers.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/
   branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/add.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/dec.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/div.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/inc.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/mod.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/mul.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/sub.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/
   branches/pplib/v2/libs/preprocessor/doc/headers/array.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/data.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/elem.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/enum.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/insert.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/pop_back.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/pop_front.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/push_back.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/push_front.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/remove.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/replace.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/reverse.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/size.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/to_list.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/to_seq.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/array/to_tuple.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/assert_msg.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/cat.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/comma.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/comma_if.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/comparison/
   branches/pplib/v2/libs/preprocessor/doc/headers/comparison.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/comparison/equal.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/comparison/greater.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/comparison/greater_equal.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/comparison/less.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/comparison/less_equal.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/comparison/not_equal.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/config/
   branches/pplib/v2/libs/preprocessor/doc/headers/config/limits.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/config/variadics.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/control/
   branches/pplib/v2/libs/preprocessor/doc/headers/control.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/control/deduce_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/control/expr_if.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/control/expr_iif.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/control/if.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/control/iif.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/control/while.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/debug/
   branches/pplib/v2/libs/preprocessor/doc/headers/debug.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/debug/line.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/dec.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/empty.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/enum.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/enum_params.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/enum_shifted.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/enum_shifted_params.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/epwad.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/epwd.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/expand.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/expr_if.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/facilities/
   branches/pplib/v2/libs/preprocessor/doc/headers/facilities.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/facilities/apply.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/facilities/empty.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/facilities/expand.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/facilities/identity.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/facilities/intercept.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/facilities/overload.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/for.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/identity.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/if.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/inc.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/iterate.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/iteration/
   branches/pplib/v2/libs/preprocessor/doc/headers/iteration.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/iteration/iterate.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/iteration/local.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/iteration/self.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/library.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/limits.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/
   branches/pplib/v2/libs/preprocessor/doc/headers/list.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/adt.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/append.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/at.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/cat.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/enum.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/filter.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/first_n.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/fold_left.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/fold_right.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/for_each.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/for_each_i.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/for_each_product.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/rest_n.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/reverse.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/size.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/to_array.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/to_seq.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/to_tuple.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/list/transform.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/logical/
   branches/pplib/v2/libs/preprocessor/doc/headers/logical.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/logical/and.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/logical/bitand.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/logical/bitnor.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/logical/bitor.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/logical/bitxor.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/logical/bool.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/logical/compl.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/logical/nor.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/logical/not.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/logical/or.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/logical/xor.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/max.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/min.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/preprocessor.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/punctuation/
   branches/pplib/v2/libs/preprocessor/doc/headers/punctuation.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/punctuation/comma.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/punctuation/comma_if.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/punctuation/paren.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/punctuation/paren_if.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repeat.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repeat_2nd.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repeat_3rd.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repeat_from_to.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repeat_from_to_2nd.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repeat_from_to_3rd.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/deduce_r.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/deduce_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_binary_params.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_params.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_shifted.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_shifted_params.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_trailing.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_trailing_params.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/epwad.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/epwd.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/esbp.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/etbp.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/for.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/repeat.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/repetition/repeat_from_to.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/selection/
   branches/pplib/v2/libs/preprocessor/doc/headers/selection.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/selection/max.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/selection/min.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/
   branches/pplib/v2/libs/preprocessor/doc/headers/seq.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/cat.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/elem.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/enum.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/filter.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/first_n.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/fold_left.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/fold_right.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/for_each.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/for_each_i.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/for_each_product.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/insert.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/pop_back.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/pop_front.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/push_back.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/push_front.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/remove.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/replace.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/rest_n.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/reverse.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/seq.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/size.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/subseq.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/to_array.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/to_list.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/to_tuple.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/seq/transform.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/slot/
   branches/pplib/v2/libs/preprocessor/doc/headers/slot.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/slot/counter.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/slot/slot.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/stringize.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/tuple/
   branches/pplib/v2/libs/preprocessor/doc/headers/tuple.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/tuple/eat.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/tuple/elem.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/tuple/enum.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/tuple/rem.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/tuple/reverse.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/tuple/size.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/tuple/to_array.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/tuple/to_list.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/tuple/to_seq.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/variadic/
   branches/pplib/v2/libs/preprocessor/doc/headers/variadic.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/variadic/elem.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/variadic/size.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/variadic/to_array.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/variadic/to_list.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/variadic/to_seq.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/variadic/to_tuple.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/while.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/headers/wstringize.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/index.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/miscellanea.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/
   branches/pplib/v2/libs/preprocessor/doc/ref.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/add.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/add_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/and.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/apply.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_data.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_elem.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_enum.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_insert.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_insert_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_pop_back.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_pop_back_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_pop_front.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_pop_front_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_push_back.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_push_front.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_remove.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_remove_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_replace.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_replace_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_reverse.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_size.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_to_list.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_to_seq.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/array_to_tuple.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/assert.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/assert_msg.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/assign_slot.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/bitand.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/bitnor.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/bitor.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/bitxor.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/bool.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/cat.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/comma.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/comma_if.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/compl.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/config_extended_line_info.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/counter.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/dec.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/deduce_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/deduce_r.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/deduce_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/div.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/div_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/empty.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_binary_params.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_binary_params_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_params.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_params_with_a_default.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_params_with_defaults.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_params_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_shifted.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_shifted_params.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_shifted_params_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_shifted_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_trailing.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_trailing_params.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_trailing_params_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_trailing_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/enum_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/equal.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/equal_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/esbp.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/esbpz.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/etbp.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/etbpz.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/expand.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/expr_if.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/expr_iif.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/filename_x.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/for.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/for_r.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/frame_finish.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/frame_flags.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/frame_iteration.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/frame_start.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/greater.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/greater_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/greater_equal.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/greater_equal_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/identity.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/if.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/iif.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/inc.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/include_self.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/indirect_self.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/intercept.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/is_iterating.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/is_selfish.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/iterate.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/iteration.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/iteration_depth.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/iteration_finish.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/iteration_flags.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/iteration_limits.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/iteration_params_x.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/iteration_start.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/less.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/less_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/less_equal.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/less_equal_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/limit_dim.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/limit_for.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/limit_iteration.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/limit_iteration_dim.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/limit_mag.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/limit_repeat.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/limit_seq.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/limit_slot_count.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/limit_slot_sig.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/limit_tuple.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/limit_variadic.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/limit_while.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/line.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_append.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_append_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_at.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_at_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_cat.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_cat_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_cons.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_enum.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_enum_r.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_filter.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_filter_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_first.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_first_n.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_first_n_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left_2nd.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left_2nd_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left_d_old.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_right.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_right_2nd.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_right_2nd_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_right_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_right_d_old.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_for_each.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_for_each_i.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_for_each_i_r.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_for_each_product.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_for_each_product_r.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_for_each_r.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_is_cons.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_is_nil.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_nil.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_rest.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_rest_n.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_rest_n_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_reverse.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_reverse_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_size.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_size_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_to_array.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_to_seq.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_to_tuple.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_to_tuple_r.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_transform.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/list_transform_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/local_iterate.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/local_limits.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/local_macro.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/lparen.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/lparen_if.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/max.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/max_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/min.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/min_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/mod.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/mod_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/mul.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/mul_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/nil.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/nor.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/not.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/not_equal.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/not_equal_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/or.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/overload.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/relative_finish.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/relative_flags.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/relative_iteration.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/relative_start.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/repeat.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/repeat_1st.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/repeat_2nd.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/repeat_3rd.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/repeat_from_to.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/repeat_from_to_1st.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/repeat_from_to_2nd.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/repeat_from_to_3rd.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/repeat_from_to_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/repeat_from_to_d_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/repeat_from_to_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/repeat_z.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/rparen.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/rparen_if.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_cat.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_cat_s.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_elem.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_enum.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_filter.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_filter_s.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_first_n.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_fold_left.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_fold_left_s.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_fold_right.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_fold_right_s.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_for_each.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_for_each_i.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_for_each_i_r.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_for_each_product.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_for_each_product_r.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_for_each_r.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_head.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_insert.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_nil.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_pop_back.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_pop_front.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_push_back.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_push_front.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_remove.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_replace.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_rest_n.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_reverse.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_reverse_s.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_size.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_subseq.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_tail.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_to_array.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_to_list.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_to_tuple.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_transform.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/seq_transform_s.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/slot.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/stringize.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/sub.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/sub_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/tuple_eat.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/tuple_elem.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/tuple_enum.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/tuple_rem.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/tuple_rem_ctor.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/tuple_reverse.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/tuple_size.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/tuple_to_array.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/tuple_to_list.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/tuple_to_seq.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/update_counter.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/value.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/variadic_elem.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/variadic_size.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/variadic_to_array.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/variadic_to_list.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/variadic_to_seq.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/variadic_to_tuple.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/variadics.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/while.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/while_d.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/wstringize.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/ref/xor.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/styles.css (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/syntax.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/terms/
   branches/pplib/v2/libs/preprocessor/doc/terms.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/terms/evaluated.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/terms/named_external.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/title.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/top.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/topics/
   branches/pplib/v2/libs/preprocessor/doc/topics.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/topics/evaluated_slots.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/topics/file_iteration.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/topics/incompatible.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/topics/local_iteration.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/topics/motivation.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/topics/problems.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/topics/reentrancy.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/topics/techniques.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/doc/topics/variadic_macros.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/index.html (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/
   branches/pplib/v2/libs/preprocessor/test/Jamfile.v2 (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/arithmetic.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/arithmetic.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/array.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/array.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/comparison.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/comparison.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/control.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/control.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/debug.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/debug.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/facilities.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/facilities.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/iteration.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/iteration.h (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/list.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/list.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/logical.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/logical.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/repetition.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/selection.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/selection.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/seq.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/seq.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/slot.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/slot.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/test.h (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/tuple.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/tuple.cpp (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/variadic.c (contents, props changed)
   branches/pplib/v2/libs/preprocessor/test/variadic.cpp (contents, props changed)

Added: branches/pplib/v2/libs/preprocessor/doc/acknowledgements.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/acknowledgements.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+ <title>acknowledgements.html</title>
+ <link rel="stylesheet" type="text/css" href="styles.css">
+</head>
+<body>
+ <h4>Acknowledgements</h4>
+ <div>
+ The following are a few acknowledgements of people that contributed to
+ or were instrumental in the development of the library by Vesa Karnoven and myself.
+ </div>
+ <h4>Vesa Karvonen</h4>
+ <div>
+ The original idea of passing two extra parameters to REPEAT, which makes it possible to create preprocessor code on top of it,
+ was due to Aleksey Gurtovoy.&nbsp;
+ The invokeable IDENTITY macro was invented by him.&nbsp;
+ He also suggested the name for the library.&nbsp;
+ Many thanks to Aleksey for his insights!
+ </div>
+ <div>
+ Thanks to everyone who participated in the review:&nbsp; David Abrahams, Beman Dawes, Ronald Garcia, Douglas Gregor, Aleksey Gurtovoy, Jeremy Siek, and Daryle Walker.
+ </div>
+ <div>
+ Thanks to Chris Little and Mat Marcus for providing help with MWCW.
+ </div>
+ <div>
+ The original automatic recursion technique, which makes many of the library
+ primitives easier to use, was invented by Paul Mensonides.
+ </div>
+ <div>
+ The PREPROCESSOR library has been developed by Vesa Karvonen.
+ </div>
+ <h4>Paul Mensonides</h4>
+ <div>
+ Thanks to Vesa Karvonen for the original conception of the library.&nbsp;
+ His work, his help, and his opinions are all much appreciated.
+ </div>
+ <div>
+ Thanks also to David Abrahams for his observations and continued support.
+ </div>
+ <div>
+ The help of several other Boost developers is also greatly appreciated.&nbsp;
+ In particular, thanks to Aleksey Gurtovoy for his suggestions and to Ralf W. Grosse-Kunstleve for providing
+ access to several compilers for testing.
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/bibliography.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/bibliography.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+ <title>bibliography.html</title>
+ <link rel="stylesheet" type="text/css" href="styles.css">
+</head>
+<body>
+<h4>Bibliography</h4>
+<table style="margin-left: 20px">
+ <tr>
+ <td><b><a name="stroustrup"></a>[Stroustrup]</b></td>
+ <td>Stroustrup:&nbsp; <i>The Design and Evolution of C++</i>, ISBN 0201543303</td>
+ </tr>
+ <tr>
+ <td><b><a name="czarnecki"></a>[Czarnecki]</b></td>
+ <td>Czarnecki, Eisenecker:&nbsp; <i>Generative Programming</i>, ISBN 0201309777</td>
+ </tr>
+ <tr>
+ <td><b><b><a name="barton"></a>[Barton]</b></td>
+ <td>Barton, Nackman:&nbsp; <i>Scientific and Engineering C++</i>, ISBN 0201533936</td>
+ </tr>
+ <tr>
+ <td><b><a name="mcconnell"></a>[McConnell]</b></td>
+ <td>McConnell:&nbsp; <i>Code Complete</i>, ISBN 1556154844</td>
+ </tr>
+ <tr>
+ <td><b><a name="std"></a>[Std]</b></td>
+ <td>ISO/IEC 14882:1998 <i>Programming Languages - C++</i></td>
+ </tr>
+ <tr>
+ <td><b>[Thompson]</b></td>
+ <td>Thompson:&nbsp; <i>Haskell:&nbsp; The Craft of Functional Programming</i>, ISBN 0201342758</td>
+ </tr>
+ <tr>
+ <td><b>[Okasaki]</b></td>
+ <td>Okasaki:&nbsp; <i>Purely Functional Data Structures</i>, ISBN 0521663504</td>
+ </tr>
+ <tr>
+ <td><b>[Cousineau]</b></td>
+ <td>Cousineau, Mauny:&nbsp; <i>The Functional Approach to Programming</i>, ISBN 0521576814</td>
+ </tr>
+ <tr>
+ <td><b>[Abelson]</b></td>
+ <td>Abelson, Sussman, Sussman:&nbsp; <i>Structure and Interpretation of Computer Programs</i>, ISBN 0521576814</td>
+ </tr>
+</table>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/contents.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/contents.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,29 @@
+<html>
+<head>
+ <title>contents.html</title>
+ <link rel="stylesheet" type="text/css" href="styles.css">
+ <style>
+ a, a:link, a:visited { color: black; font-weight: bold; }
+ </style>
+</head>
+<body>
+
+<h4>Introduction</h4>
+<h4><a href="topics.html">Topics</h4>
+<h4><a href="terms.html">Terminology</h4>
+<h4><a href="data.html">Data Types</h4>
+<h4><a href="ref.html">Reference</h4>
+<h4><a href="headers.html">Headers</h4>
+<h4><a href="examples.html">Examples</h4>
+<h4><a href="miscellanea.html">Miscellanea</h4>
+
+<!--
+© 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
+http://www.boost.org/LICENSE_1_0.txt)
+-->
+
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/data.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/data.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,27 @@
+<html>
+ <head>
+ <title>data.html</title>
+ <link rel="stylesheet" type="text/css" href="styles.css">
+ <base target="desc">
+ </head>
+ <body>
+ <h4>
+ Data Types <small>[back]</small>
+ </h4>
+ <ul>
+ <li>arrays</li>
+ <li>lists</li>
+ <li>sequences</li>
+ <li>tuples</li>
+ </ul>
+
+<!--
+© 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
+http://www.boost.org/LICENSE_1_0.txt)
+-->
+
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/data/arrays.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/data/arrays.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,53 @@
+<html>
+<head>
+ <title>arrays.html</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <h4>Arrays</h4>
+ <div>
+ An <i>array</i> is a data structure consisting of a two-element <i>tuple</i>.&nbsp;
+ The first element is the number of elements in the <i>array</i>.&nbsp;
+ The second element is another <i>tuple</i> of the elements in the <i>array</i>.&nbsp;
+ For example,
+ </div>
+ <div class="code">
+ (<i>3</i>, (<i>a</i>, <i>b</i>, <i>c</i>))
+ </div>
+ <div>
+ ...is an <i>array</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
+ </div>
+ <div>
+ The primary strength of <i>arrays</i> is that they store their own size.&nbsp;
+ Because of this, access to elements does not require the size.&nbsp;
+ It only requires that an element exists at a certain index.
+ </div>
+ <div>
+ This allows macro parameters to be variable in size and allows data states to change
+ size without the user explicitly keeping track of the size independently.
+ </div>
+ <div>
+ Elements of an <i>array</i> can be extracted with <b>BOOST_PP_ARRAY_ELEM</b>,
+ an <i>array's</i> size can be extracted with <b>BOOST_PP_ARRAY_SIZE</b>, and
+ an <i>array</i> can be converted to the more primitive <i>tuple</i> data structure
+ with <b>BOOST_PP_ARRAY_DATA</b>.
+ </div>
+ <h4>Primitives</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_DATA</li>
+ <li>BOOST_PP_ARRAY_ELEM</li>
+ <li>BOOST_PP_ARRAY_SIZE</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/data/lists.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/data/lists.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,46 @@
+<html>
+<head>
+ <title>lists.html</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <h4>Lists</h4>
+ <div>
+ A <i>list</i> is a simple cons-style list with a head and a tail.&nbsp;
+ The head of a <i>list</i> is an element,
+ and the tail is either another <i>list</i> or <b>BOOST_PP_NIL</b>.
+ For example,
+ </div>
+ <div class="code">
+ (<i>a</i>, (<i>b</i>, (<i>c</i>, <b>BOOST_PP_NIL</b>)))
+ </div>
+ <div>
+ ...is a <i>list</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
+ </div>
+ <div>
+ This allows macro parameters to be variable in size and allows data states to change
+ size without the user explicitly keeping track of the size independently.
+ </div>
+ <div>
+ Elements of a <i>list</i> can be extracted with
+ <b>BOOST_PP_LIST_FIRST</b> and <b>BOOST_PP_LIST_REST</b>.&nbsp;
+ </div>
+ <h4>Primitives</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FIRST</li>
+ <li>BOOST_PP_LIST_REST</li>
+ <li>BOOST_PP_NIL</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/data/sequences.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/data/sequences.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,75 @@
+<html>
+ <head>
+ <title>sequences.html</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+ </head>
+ <body>
+ <h4>
+ Sequences
+ </h4>
+ <div>
+ A <i>sequence</i> (abbreviated to <i>seq</i>) is a group of adjacent parenthesized elements. For example,
+ </div>
+ <div class="code">
+ (<i>a</i>)(<i>b</i>)(<i>c</i>)
+ </div>
+ <div>
+ ...is a <i>seq</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
+ </div>
+ <div>
+ <i>Sequences</i> are data structures that merge the properties of both <i>lists</i> and
+ <i>tuples</i> with the exception that a <i>seq</i> cannot be empty.&nbsp;
+ Therefore, an "empty" <i>seq</i> is considered a special case scenario that
+ must be handled separately in C++.
+ </div>
+ <div class="code">
+ <pre>
+#define SEQ (x)(y)(z)
+#define REVERSE(s, state, elem) (elem) state
+ // append to head ^
+
+BOOST_PP_SEQ_FOLD_LEFT(REVERSE, BOOST_PP_EMPTY, SEQ)()
+ // #1 #2
+ // 1) placeholder for "empty" seq
+ // 2) remove placeholder
+
+#define SEQ_B (1)(2)(3)
+#define INC(s, state, elem) state (BOOST_PP_INC(elem))
+ // append to tail ^
+
+BOOST_PP_SEQ_FOLD_RIGHT(INC, BOOST_PP_SEQ_NIL, SEQ)
+ // ^
+ // special placeholder that will be "eaten"
+ // by appending to the tail
+</pre>
+ </div>
+ <div>
+ <i>Sequences</i> are extremely efficient.&nbsp; Element access speed approaches
+ random access--even with <i>seqs</i> of up to <i>256</i> elements.&nbsp; This
+ is because element access (among other things) is implemented iteratively
+ rather than recursively.&nbsp; Therefore, elements can be accessed at extremely
+ high indices even on preprocessors with low maximum expansion depths.
+ </div>
+ <div>
+ Elements of a <i>seq</i> can be extracted with <b>BOOST_PP_SEQ_ELEM</b>.
+ </div>
+ <h4>
+ Primitives
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_ELEM</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/data/tuples.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/data/tuples.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,42 @@
+<html>
+<head>
+ <title>tuples.html</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <h4>Tuples</h4>
+ <div>
+ A <i>tuple</i> is a simple comma-separated list of elements inside parenthesis.&nbsp;
+ For example,
+ </div>
+ <div class="code">
+ (<i>a</i>, <i>b</i>, <i>c</i>)
+ </div>
+ <div>
+ ...is a <i>tuple</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
+ </div>
+ <div>
+ <i>Tuples</i> are fast and easy to use.&nbsp;
+ However, all access to <i>tuples</i> requires knowledge of its size.
+ </div>
+ <div>
+ Elements of a <i>tuple</i> can be extracted with
+ <b>BOOST_PP_TUPLE_ELEM</b>.
+ </div>
+ <h4>Primitives</h4>
+ <ul>
+ <li>BOOST_PP_TUPLE_ELEM</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/examples.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/examples.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,27 @@
+<html>
+<head>
+ <title>topics.html</title>
+ <link rel="stylesheet" type="text/css" href="styles.css">
+ <base target="desc">
+</head>
+<body>
+<h4>Examples <small>[back]</small></h4>
+<ul>
+ <li>array_arithmetic.c</i>
+ <li>catch_builtin.cpp</i>
+ <li>delay.c</i>
+ <li>duffs_device.c</i>
+ <li>is_integral.cpp</li>
+ <li>linear_fib.c</li>
+</ul>
+
+<!--
+© 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
+http://www.boost.org/LICENSE_1_0.txt)
+-->
+
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/examples/array_arithmetic.c
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/examples/array_arithmetic.c 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,196 @@
+# /* Copyright (C) 2002
+# * Housemarque Oy
+# * http://www.housemarque.com
+# *
+# * 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 (2002) */
+#
+# /* See http://www.boost.org for most recent version. */
+#
+# /* This example implements over 2200 functions for 1-dimensional arithmetic
+# * array manipulation in C. The idea is to use preprocessor data structures,
+# * lists, and tuples for storing metainformation to be used for generating
+# * the actual C code.
+# *
+# * Who needs templates anyway? :)
+# *
+# * Compile with any C compiler with a standards conforming preprocessor.
+# */
+#
+# include <boost/preprocessor/comparison/less.hpp>
+# include <boost/preprocessor/control/if.hpp>
+# include <boost/preprocessor/list/at.hpp>
+# include <boost/preprocessor/list/cat.hpp>
+# include <boost/preprocessor/list/for_each_product.hpp>
+# include <boost/preprocessor/logical/or.hpp>
+# include <boost/preprocessor/tuple/to_list.hpp>
+# include <boost/preprocessor/tuple/eat.hpp>
+#
+# /* Information about C operators */
+#
+# /* Accessors for the operator datatype. */
+# define OP_SYMBOL(O) BOOST_PP_TUPLE_ELEM(5, 0, O)
+# define OP_NAME(O) BOOST_PP_TUPLE_ELEM(5, 1, O)
+# define OP_IS_FLOATING(O) BOOST_PP_TUPLE_ELEM(5, 2, O)
+# define OP_IS_LOGICAL(O) BOOST_PP_TUPLE_ELEM(5, 3, O)
+# define OP_IS_SHIFT(O) BOOST_PP_TUPLE_ELEM(5, 4, O)
+#
+# /* List of applicative unary operators. */
+# define APPLICATIVE_UNARY_OPS \
+ BOOST_PP_TUPLE_TO_LIST( \
+ 3, \
+ ( \
+ ( ! , logical_not, 1, 1, 0), \
+ ( ~ , bitwise_not, 0, 0, 0), \
+ ( - , neg, 1, 0, 0) \
+ ) \
+ ) \
+ /**/
+#
+# /* List of applicative binary operators. */
+# define APPLICATIVE_BINARY_OPS \
+ BOOST_PP_TUPLE_TO_LIST( \
+ 18, \
+ ( \
+ ( * , mul ,1 ,0 ,0), \
+ ( / , div ,1 ,0 ,0), \
+ ( % , mod ,0 ,0 ,0), \
+ ( + , add ,1 ,0 ,0), \
+ ( - , sub ,1 ,0 ,0), \
+ ( << , shift_left ,0 ,0 ,1), \
+ ( >> , shift_right ,0 ,0 ,1), \
+ ( < , less ,1 ,1 ,0), \
+ ( <= , less_equal ,1 ,1 ,0), \
+ ( >= , greater_equal ,1 ,1 ,0), \
+ ( > , greater ,1 ,1 ,0), \
+ ( == , equal ,1 ,1 ,0), \
+ ( != , not_equal ,1 ,1 ,0), \
+ ( & , bitwise_and ,0 ,0 ,0), \
+ ( | , bitwise_or ,0 ,0 ,0), \
+ ( ^ , bitwise_xor ,0 ,0 ,0), \
+ ( && , logical_and ,1 ,1 ,0), \
+ ( || , logical_or ,1 ,1 ,0) \
+ ) \
+ ) \
+ /**/
+#
+# /* Information about C built-in types. */
+#
+# /* Accessors for the type datatype. */
+# define TYPE_NAME(T) BOOST_PP_TUPLE_ELEM(4, 0, T)
+# define TYPE_ABBREVIATION(T) BOOST_PP_TUPLE_ELEM(4, 1, T)
+# define TYPE_IS_FLOATING(T) BOOST_PP_TUPLE_ELEM(4, 2, T)
+# define TYPE_RANK(T) BOOST_PP_TUPLE_ELEM(4, 3, T)
+#
+# /* List of C built-in types. */
+# define BUILTIN_TYPES \
+ BOOST_PP_TUPLE_TO_LIST( \
+ 12, \
+ ( \
+ ( signed char ,sc, 0, 1), \
+ ( char ,ch, 0, 1), \
+ ( unsigned char ,uc, 0, 1), \
+ ( short ,ss, 0, 2), \
+ ( unsigned short ,us, 0, 2), \
+ TYPE_INT, \
+ ( unsigned ,ui, 0, 4), \
+ ( long ,sl, 0, 5), \
+ ( unsigned long ,ul, 0, 6), \
+ ( float ,fl, 1, 7), \
+ ( double ,db, 1, 8), \
+ ( long double ,ld, 1, 9) \
+ ) \
+ ) \
+ /**/
+#
+# /* Type int is needed in some type computations. */
+# define TYPE_INT (int, si, 0, 3)
+#
+# /* Type computation macros. */
+# define TYPE_OF_INTEGER_PROMOTION(T) \
+ BOOST_PP_IF( \
+ BOOST_PP_LESS(TYPE_RANK(T), TYPE_RANK(TYPE_INT)), \
+ TYPE_INT, T \
+ ) \
+ /**/
+# define TYPE_OF_USUAL_ARITHMETIC_CONVERSION(L, R) \
+ TYPE_OF_INTEGER_PROMOTION( \
+ BOOST_PP_IF( \
+ BOOST_PP_LESS(TYPE_RANK(L), TYPE_RANK(R)), \
+ R, L \
+ ) \
+ ) \
+ /**/
+# define TYPE_OF_UNARY_OP(O, T) \
+ BOOST_PP_IF( \
+ OP_IS_LOGICAL(O), \
+ TYPE_INT, TYPE_OF_INTEGER_PROMOTION(T) \
+ ) \
+ /**/
+# define TYPE_OF_BINARY_OP(O, L, R) \
+ BOOST_PP_IF( \
+ OP_IS_LOGICAL(O), TYPE_INT, \
+ BOOST_PP_IF( \
+ OP_IS_SHIFT(O), \
+ TYPE_OF_INTEGER_PROMOTION(L), \
+ TYPE_OF_USUAL_ARITHMETIC_CONVERSION(L,R) \
+ ) \
+ ) \
+ /**/
+# define IS_VALID_UNARY_OP_AND_TYPE_COMBINATION(O, T) \
+ BOOST_PP_IF( \
+ TYPE_IS_FLOATING(T), \
+ OP_IS_FLOATING(O), 1 \
+ ) \
+ /**/
+# define IS_VALID_BINARY_OP_AND_TYPE_COMBINATION(O, L, R) \
+ BOOST_PP_IF( \
+ BOOST_PP_OR(TYPE_IS_FLOATING(L), TYPE_IS_FLOATING(R)), \
+ OP_IS_FLOATING(O), 1 \
+ ) \
+ /**/
+#
+# /* Generates code for all unary operators and integral types. */
+# define UNARY_ARRAY_OP(_, OT) \
+ BOOST_PP_IF( \
+ IS_VALID_UNARY_OP_AND_TYPE_COMBINATION OT, \
+ UNARY_ARRAY_OP_CODE, BOOST_PP_TUPLE_EAT(2) \
+ ) OT \
+ /**/
+# define UNARY_ARRAY_OP_CODE(O, T) \
+ void BOOST_PP_LIST_CAT(BOOST_PP_TUPLE_TO_LIST(4, (array_, OP_NAME(O), _, TYPE_ABBREVIATION(T)))) \
+ (const TYPE_NAME(T)* in, TYPE_NAME(TYPE_OF_UNARY_OP(O, T))* out, unsigned n) { \
+ do { \
+ *out++ = OP_SYMBOL(O) *in++; \
+ } while (--n); \
+ } \
+ /**/
+
+BOOST_PP_LIST_FOR_EACH_PRODUCT(UNARY_ARRAY_OP, 2, (APPLICATIVE_UNARY_OPS, BUILTIN_TYPES))
+
+# /* Generates code for all binary operators and integral type pairs. */
+# define BINARY_ARRAY_OP(_, OLR) \
+ BOOST_PP_IF( \
+ IS_VALID_BINARY_OP_AND_TYPE_COMBINATION OLR, \
+ BINARY_ARRAY_OP_CODE, BOOST_PP_TUPLE_EAT(3) \
+ ) OLR \
+ /**/
+# define BINARY_ARRAY_OP_CODE(O, L, R) \
+ void BOOST_PP_LIST_CAT( \
+ BOOST_PP_TUPLE_TO_LIST( \
+ 6, (array_, OP_NAME(O), _, TYPE_ABBREVIATION(L), _, TYPE_ABBREVIATION(R)) \
+ ) \
+ )(const TYPE_NAME(L)* lhs_in, const TYPE_NAME(R)* rhs_in, TYPE_NAME(TYPE_OF_BINARY_OP(O, L, R))* out, unsigned n) { \
+ do { \
+ *out++ = *lhs_in OP_SYMBOL(O) *rhs_in; \
+ ++lhs_in; \
+ ++rhs_in; \
+ } while (--n); \
+ } \
+ /**/
+
+BOOST_PP_LIST_FOR_EACH_PRODUCT(BINARY_ARRAY_OP, 3, (APPLICATIVE_BINARY_OPS, BUILTIN_TYPES, BUILTIN_TYPES))

Added: branches/pplib/v2/libs/preprocessor/doc/examples/catch_builtin.cpp
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/examples/catch_builtin.cpp 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,51 @@
+# /* Copyright (C) 2002
+# * Housemarque Oy
+# * http://www.housemarque.com
+# *
+# * 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 (2002) */
+#
+# /* See http://www.boost.org for most recent version. */
+#
+# /* This example demonstrates the usage of lists and BOOST_PP_LIST_FOR_EACH(). */
+#
+# include <iostream>
+# include <typeinfo>
+#
+# include <boost/preprocessor/list/for_each.hpp>
+# include <boost/preprocessor/tuple/to_list.hpp>
+#
+# /* List of built-in types. (Strictly speaking wchar_t should be on the list.) */
+#
+# define BUILTIN_TYPES \
+ BOOST_PP_TUPLE_TO_LIST( \
+ 13, \
+ ( \
+ bool, \
+ char, signed char, unsigned char, \
+ unsigned short, short, \
+ int, unsigned, \
+ long, unsigned long, \
+ float, \
+ double, long double \
+ ) \
+ ) \
+ /**/
+#
+# define CATCH(R, _, T) \
+ catch (T t) { \
+ std::cerr << "Caught an " << typeid(t).name() << " = " << t; \
+ } \
+ /**/
+
+int main() {
+ try {
+ throw 10;
+ }
+ BOOST_PP_LIST_FOR_EACH(CATCH, _, BUILTIN_TYPES)
+ return 0;
+}

Added: branches/pplib/v2/libs/preprocessor/doc/examples/delay.c
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/examples/delay.c 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,95 @@
+# /* Copyright (C) 2002
+# * Housemarque Oy
+# * http://www.housemarque.com
+# *
+# * 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 (2002) */
+#
+# /* See http://www.boost.org for most recent version. */
+#
+# /* The time complexity of DELAY(N) is O(2^N).
+# *
+# * Handy when recompiles are too fast to take a coffee break. :)
+# *
+# * Template metaprogramming can be used for implementing similar
+# * delays. Unfortunately template instantiation consumes memory,
+# * therefore compilers usually fail to fully compile long template
+# * based delays, because they run out of memory.
+# *
+# * On many compilers (e.g. g++, MSVC++), this macro takes only a
+# * small amount of memory to preprocess. On some compilers (e.g.
+# * MWCW), however, this macro seems to consume huge amounts of
+# * memory.
+# */
+#
+# include <boost/preprocessor/arithmetic/dec.hpp>
+# include <boost/preprocessor/cat.hpp>
+# include <boost/preprocessor/control/while.hpp>
+# include <boost/preprocessor/facilities/empty.hpp>
+# include <boost/preprocessor/tuple/elem.hpp>
+#
+# ifndef DELAY_MAX
+# define DELAY_MAX 14
+# endif
+#
+# define DELAY(N) BOOST_PP_TUPLE_ELEM(2, 0, (BOOST_PP_EMPTY, BOOST_PP_WHILE(DELAY_C, BOOST_PP_CAT(DELAY_F, N), BOOST_PP_DEC(N))))()
+#
+# define DELAY_C(D, N) N
+#
+# define DELAY_F0(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F1(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F2(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F3(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F4(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F5(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F6(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F7(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F8(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F9(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F10(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F11(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F12(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F13(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F14(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F15(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F16(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F17(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F18(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F19(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F20(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F21(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F22(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F23(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F24(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F25(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F26(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F27(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F28(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F29(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F30(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F31(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F32(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F33(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F34(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F35(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F36(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F37(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F38(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F39(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F40(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F41(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F42(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F43(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F44(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F45(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F46(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F47(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F48(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F49(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+# define DELAY_F50(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
+
+DELAY(DELAY_MAX)

Added: branches/pplib/v2/libs/preprocessor/doc/examples/duffs_device.c
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/examples/duffs_device.c 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,61 @@
+# /* Copyright (C) 2002
+# * Housemarque Oy
+# * http://www.housemarque.com
+# *
+# * 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 (2002) */
+#
+# /* See http://www.boost.org for most recent version. */
+#
+# /* This example uses the preprocessor library to implement a generalized
+# * macro for implementing Duff's Device.
+# *
+# * This example was inspired by an original generalized macro for
+# * for implementing Duff's Device written by Joerg Walter.
+# */
+#
+# include <assert.h>
+#
+# include <boost/preprocessor/repetition/repeat.hpp>
+# include <boost/preprocessor/tuple/elem.hpp>
+#
+# /* Expands to a Duff's Device. */
+# define DUFFS_DEVICE(UNROLLING_FACTOR, COUNTER_TYPE, N, STATEMENT) \
+ do { \
+ COUNTER_TYPE duffs_device_initial_cnt = (N); \
+ if (duffs_device_initial_cnt > 0) { \
+ COUNTER_TYPE duffs_device_running_cnt = (duffs_device_initial_cnt + (UNROLLING_FACTOR - 1)) / UNROLLING_FACTOR; \
+ switch (duffs_device_initial_cnt % UNROLLING_FACTOR) { \
+ do { \
+ BOOST_PP_REPEAT(UNROLLING_FACTOR, DUFFS_DEVICE_C, (UNROLLING_FACTOR, { STATEMENT })) \
+ } while (--duffs_device_running_cnt); \
+ } \
+ } \
+ } while (0) \
+ /**/
+#
+# define DUFFS_DEVICE_C(Z, I, UNROLLING_FACTOR_STATEMENT) \
+ case (I ? BOOST_PP_TUPLE_ELEM(2, 0, UNROLLING_FACTOR_STATEMENT) - I : 0): \
+ BOOST_PP_TUPLE_ELEM(2, 1, UNROLLING_FACTOR_STATEMENT); \
+ /**/
+#
+# ifndef UNROLLING_FACTOR
+# define UNROLLING_FACTOR 16
+# endif
+#
+# ifndef N
+# define N 1000
+# endif
+
+int main(void) {
+ int i = 0;
+ DUFFS_DEVICE(UNROLLING_FACTOR, int, 0, ++i;);
+ assert(i == 0);
+ DUFFS_DEVICE(UNROLLING_FACTOR, int, N, ++i;);
+ assert(i == N);
+ return 0;
+}

Added: branches/pplib/v2/libs/preprocessor/doc/examples/is_integral.cpp
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/examples/is_integral.cpp 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,49 @@
+# /* Copyright (C) 2002
+# * Housemarque Oy
+# * http://www.housemarque.com
+# *
+# * 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 (2002) */
+#
+# /* See http://www.boost.org for most recent version. */
+#
+# /* This example demonstrates the usage of preprocessor lists for generating C++ code. */
+#
+# include <boost/preprocessor/facilities/empty.hpp>
+# include <boost/preprocessor/list/at.hpp>
+# include <boost/preprocessor/list/for_each_product.hpp>
+# include <boost/preprocessor/tuple/elem.hpp>
+# include <boost/preprocessor/tuple/to_list.hpp>
+#
+# /* List of integral types. (Strictly speaking, wchar_t should be on the list.) */
+# define INTEGRAL_TYPES \
+ BOOST_PP_TUPLE_TO_LIST( \
+ 9, (char, signed char, unsigned char, short, unsigned short, int, unsigned, long, unsigned long) \
+ ) \
+ /**/
+#
+# /* List of invokeable cv-qualifiers */
+# define CV_QUALIFIERS \
+ BOOST_PP_TUPLE_TO_LIST( \
+ 4, (BOOST_PP_EMPTY, const BOOST_PP_EMPTY, volatile BOOST_PP_EMPTY, const volatile BOOST_PP_EMPTY) \
+ ) \
+ /**/
+#
+# /* Template for testing whether a type is an integral type. */
+
+template<class T> struct is_integral {
+ enum { value = false };
+};
+
+# /* Macro for defining a specialization of is_integral<> template. */
+# define IS_INTEGRAL_SPECIALIZATION(R, L) \
+ template<> struct is_integral<BOOST_PP_TUPLE_ELEM(2, 0, L)() BOOST_PP_TUPLE_ELEM(2, 1, L)> { \
+ enum { value = true }; \
+ }; \
+ /**/
+
+BOOST_PP_LIST_FOR_EACH_PRODUCT(IS_INTEGRAL_SPECIALIZATION, 2, (CV_QUALIFIERS, INTEGRAL_TYPES))

Added: branches/pplib/v2/libs/preprocessor/doc/examples/linear_fib.c
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/examples/linear_fib.c 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,91 @@
+# /* Copyright (C) 2002
+# * Housemarque Oy
+# * http://www.housemarque.com
+# *
+# * 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 (2002) */
+#
+# /* See http://www.boost.org for most recent version. */
+#
+# /* This example shows how BOOST_PP_WHILE() can be used for implementing macros. */
+#
+# include <stdio.h>
+#
+# include <boost/preprocessor/arithmetic/add.hpp>
+# include <boost/preprocessor/arithmetic/sub.hpp>
+# include <boost/preprocessor/comparison/less_equal.hpp>
+# include <boost/preprocessor/control/while.hpp>
+# include <boost/preprocessor/list/adt.hpp>
+# include <boost/preprocessor/tuple/elem.hpp>
+#
+# /* First consider the following C implementation of Fibonacci. */
+
+typedef struct linear_fib_state {
+ int a0, a1, n;
+} linear_fib_state;
+
+static int linear_fib_c(linear_fib_state p) {
+ return p.n;
+}
+
+static linear_fib_state linear_fib_f(linear_fib_state p) {
+ linear_fib_state r = { p.a1, p.a0 + p.a1, p.n - 1 };
+ return r;
+}
+
+static int linear_fib(int n) {
+ linear_fib_state p = { 0, 1, n };
+ while (linear_fib_c(p)) {
+ p = linear_fib_f(p);
+ }
+ return p.a0;
+}
+
+# /* Then consider the following preprocessor implementation of Fibonacci. */
+#
+# define LINEAR_FIB(n) LINEAR_FIB_D(1, n)
+# /* Since the macro is implemented using BOOST_PP_WHILE, the actual
+# * implementation takes a depth as a parameters so that it can be called
+# * inside a BOOST_PP_WHILE. The above easy-to-use version simply uses 1
+# * as the depth and cannot be called inside a BOOST_PP_WHILE.
+# */
+#
+# define LINEAR_FIB_D(d, n) \
+ BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE_ ## d(LINEAR_FIB_C, LINEAR_FIB_F, (0, 1, n)))
+# /* ^^^^ ^^^^^ ^^ ^^ ^^^^^^^
+# * #1 #2 #3 #3 #4
+# *
+# * 1) The state is a 3-element tuple. After the iteration is finished, the first
+# * element of the tuple is the result.
+# *
+# * 2) The WHILE primitive is "invoked" directly. BOOST_PP_WHILE(D, ...)
+# * can't be used because it would not be expanded by the preprocessor.
+# *
+# * 3) ???_C is the condition and ???_F is the iteration macro.
+# */
+#
+# define LINEAR_FIB_C(d, p) \
+ /* p.n */ BOOST_PP_TUPLE_ELEM(3, 2, p) \
+ /**/
+#
+# define LINEAR_FIB_F(d, p) \
+ ( \
+ /* p.a1 */ BOOST_PP_TUPLE_ELEM(3, 1, p), \
+ /* p.a0 + p.a1 */ BOOST_PP_ADD_D(d, BOOST_PP_TUPLE_ELEM(3, 0, p), BOOST_PP_TUPLE_ELEM(3, 1, p)), \
+ /* ^^ ^ \
+ * BOOST_PP_ADD() uses BOOST_PP_WHILE(). Therefore we \
+ * pass the recursion depth explicitly to BOOST_PP_ADD_D(). \
+ */ \
+ /* p.n - 1 */ BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(3, 2, p)) \
+ ) \
+ /**/
+
+int main() {
+ printf("linear_fib(10) = %d\n", linear_fib(10));
+ printf("LINEAR_FIB(10) = %d\n", LINEAR_FIB(10));
+ return 0;
+}

Added: branches/pplib/v2/libs/preprocessor/doc/headers.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,232 @@
+<html>
+<head>
+ <title>headers.html</title>
+ <link rel="stylesheet" type="text/css" href="styles.css">
+ <base target="desc">
+ <style>
+ .ps { margin-left: 30px; }
+ </style>
+</head>
+<body>
+<h4> Headers <small>[back]</small>
+</h4>
+<ul>
+ <li>../</li>
+ <li class="ps"> preprocessor.hpp</li>
+ <li>arithmetic.hpp</li>
+ <li>arithmetic/</li>
+ <li class="ps">add.hpp</li>
+ <li class="ps">dec.hpp</li>
+ <li class="ps">div.hpp</li>
+ <li class="ps">inc.hpp</li>
+ <li class="ps">mod.hpp</li>
+ <li class="ps">mul.hpp</li>
+ <li class="ps">sub.hpp</li>
+ <li>array.hpp</li>
+ <li>array/</li>
+ <li class="ps">data.hpp</li>
+ <li class="ps">elem.hpp</li>
+ <li class="ps">enum.hpp</li>
+ <li class="ps">insert.hpp</li>
+ <li class="ps">pop_back.hpp</li>
+ <li class="ps">pop_front.hpp</li>
+ <li class="ps">push_back.hpp</li>
+ <li class="ps">push_front.hpp</li>
+ <li class="ps">remove.hpp</li>
+ <li class="ps">replace.hpp</li>
+ <li class="ps">reverse.hpp</li>
+ <li class="ps">size.hpp</li>
+ <li class="ps">to_list.hpp</li>
+ <li class="ps">to_seq.hpp</li>
+ <li class="ps">to_tuple.hpp</li>
+ <li>assert_msg.hpp*</li>
+ <li>cat.hpp</li>
+ <li>comma.hpp*</li>
+ <li>comma_if.hpp*</li>
+ <li>comparison.hpp</li>
+ <li>comparison/</li>
+ <li class="ps">equal.hpp</li>
+ <li class="ps">greater.hpp</li>
+ <li class="ps">greater_equal.hpp</li>
+ <li class="ps">less.hpp</li>
+ <li class="ps">less_equal.hpp</li>
+ <li class="ps">not_equal.hpp</li>
+ <li>config/</li>
+ <li class="ps">limits.hpp</li>
+ <li class="ps">variadics.hpp</li>
+ <li>control.hpp</li>
+ <li>control/</li>
+ <li class="ps">deduce_d.hpp</li>
+ <li class="ps">expr_if.hpp</li>
+ <li class="ps">expr_iif.hpp</li>
+ <li class="ps">if.hpp</li>
+ <li class="ps">iif.hpp</li>
+ <li class="ps">while.hpp</li>
+ <li>debug.hpp</li>
+ <li>debug/</li>
+ <li class="ps">assert.hpp</li>
+ <li class="ps">line.hpp</li>
+ <li>dec.hpp*</li>
+ <li>empty.hpp*</li>
+ <li>enum.hpp*</li>
+ <li>enum_params.hpp*</li>
+ <li>enum_params_with_a_default.hpp*</li>
+ <li>enum_params_with_defaults.hpp*</li>
+ <li>enum_shifted.hpp*</li>
+ <li>enum_shifted_params.hpp*</li>
+ <li>expand.hpp*</li>
+ <li>expr_if.hpp*</li>
+ <li>facilities.hpp</li>
+ <li>facilities/</li>
+ <li class="ps">apply.hpp</li>
+ <li class="ps">empty.hpp</li>
+ <li class="ps">expand.hpp</li>
+ <li class="ps">identity.hpp</li>
+ <li class="ps">intercept.hpp</li>
+ <li class="ps">overload.hpp (v)</li>
+ <li>for.hpp*</li>
+ <li>identity.hpp*</li>
+ <li>if.hpp*</li>
+ <li>inc.hpp*</li>
+ <li>iterate.hpp*</li>
+ <li>iteration.hpp</li>
+ <li>iteration/</li>
+ <li class="ps">iterate.hpp</li>
+ <li class="ps">local.hpp</li>
+ <li class="ps">self.hpp</li>
+ <li>library.hpp</li>
+ <li>limits.hpp*</li>
+ <li>list.hpp</li>
+ <li>list/</li>
+ <li class="ps">adt.hpp</li>
+ <li class="ps">append.hpp</li>
+ <li class="ps">at.hpp</li>
+ <li class="ps">cat.hpp</li>
+ <li class="ps">enum.hpp</li>
+ <li class="ps">filter.hpp</li>
+ <li class="ps">first_n.hpp</li>
+ <li class="ps">fold_left.hpp</li>
+ <li class="ps">fold_right.hpp</li>
+ <li class="ps">for_each.hpp</li>
+ <li class="ps">for_each_i.hpp</li>
+ <li class="ps">for_each_product.hpp</li>
+ <li class="ps">rest_n.hpp</li>
+ <li class="ps">reverse.hpp</li>
+ <li class="ps">size.hpp</li>
+ <li class="ps">to_array.hpp</li>
+ <li class="ps">to_seq.hpp</li>
+ <li class="ps">to_tuple.hpp</li>
+ <li class="ps">transform.hpp</li>
+ <li>logical.hpp</li>
+ <li>logical/</li>
+ <li class="ps">and.hpp</li>
+ <li class="ps">bitand.hpp</li>
+ <li class="ps">bitnor.hpp</li>
+ <li class="ps">bitor.hpp</li>
+ <li class="ps">bitxor.hpp</li>
+ <li class="ps">bool.hpp</li>
+ <li class="ps">compl.hpp</li>
+ <li class="ps">nor.hpp</li>
+ <li class="ps">not.hpp</li>
+ <li class="ps">or.hpp</li>
+ <li class="ps">xor.hpp</li>
+ <li>max.hpp*</li>
+ <li>min.hpp*</li>
+ <li>punctuation.hpp</li>
+ <li>punctuation/</li>
+ <li class="ps">comma.hpp</li>
+ <li class="ps">comma_if.hpp</li>
+ <li class="ps">paren.hpp</li>
+ <li class="ps">paren_if.hpp</li>
+ <li>repeat.hpp*</li>
+ <li>repeat_2nd.hpp*</li>
+ <li>repeat_3rd.hpp*</li>
+ <li>repeat_from_to.hpp*</li>
+ <li>repeat_from_to_2nd.hpp*</li>
+ <li>repeat_from_to_3rd.hpp*</li>
+ <li>repetition.hpp</li>
+ <li>repetition/</li>
+ <li class="ps">deduce_r.hpp</li>
+ <li class="ps">deduce_z.hpp</li>
+ <li class="ps">enum.hpp</li>
+ <li class="ps">enum_binary_params.hpp</li>
+ <li class="ps">enum_params.hpp</li>
+ <li class="ps">enum_params_with_a_default.hpp</li>
+ <li class="ps">enum_params_with_defaults.hpp</li>
+ <li class="ps">enum_shifted_binary_params.hpp</li>
+ <li class="ps">enum_shifted_params.hpp</li>
+ <li class="ps">enum_shifted.hpp</li>
+ <li class="ps">enum_trailing.hpp</li>
+ <li class="ps">enum_trailing_binary_params.hpp</li>
+ <li class="ps">enum_trailing_params.hpp</li>
+ <li class="ps">for.hpp</li>
+ <li class="ps">repeat.hpp</li>
+ <li class="ps">repeat_from_to.hpp</li>
+ <li>selection.hpp</li>
+ <li>selection/</li>
+ <li class="ps">max.hpp</li>
+ <li class="ps">min.hpp</li>
+ <li>seq.hpp</li>
+ <li>seq/</li>
+ <li class="ps">cat.hpp</li>
+ <li class="ps">elem.hpp</li>
+ <li class="ps">enum.hpp</li>
+ <li class="ps">filter.hpp</li>
+ <li class="ps">first_n.hpp</li>
+ <li class="ps">fold_left.hpp</li>
+ <li class="ps">fold_right.hpp</li>
+ <li class="ps">for_each.hpp</li>
+ <li class="ps">for_each_i.hpp</li>
+ <li class="ps">for_each_product.hpp</li>
+ <li class="ps">insert.hpp</li>
+ <li class="ps">pop_back.hpp</li>
+ <li class="ps">pop_front.hpp</li>
+ <li class="ps">push_back.hpp</li>
+ <li class="ps">push_front.hpp</li>
+ <li class="ps">remove.hpp</li>
+ <li class="ps">replace.hpp</li>
+ <li class="ps">rest_n.hpp</li>
+ <li class="ps">reverse.hpp</li>
+ <li class="ps">seq.hpp</li>
+ <li class="ps">size.hpp</li>
+ <li class="ps">subseq.hpp</li>
+ <li class="ps">to_array.hpp</li>
+ <li class="ps">to_list.hpp</li>
+ <li class="ps">to_tuple.hpp</li>
+ <li class="ps">transform.hpp</li>
+ <li>slot.hpp</li>
+ <li>slot/</li>
+ <li class="ps">counter.hpp</li>
+ <li class="ps">slot.hpp</li>
+ <li>tuple.hpp</li>
+ <li>tuple/</li>
+ <li class="ps">eat.hpp (v)</li>
+ <li class="ps">elem.hpp (v)</li>
+ <li class="ps">enum.hpp (v)</li>
+ <li class="ps">rem.hpp (v)</li>
+ <li class="ps">reverse.hpp (v)</li>
+ <li class="ps">size.hpp (v)</li>
+ <li class="ps">to_array.hpp (v)</li>
+ <li class="ps">to_list.hpp (v)</li>
+ <li class="ps">to_seq.hpp (v)</li>
+ <li>stringize.hpp</li>
+ <li>variadic.hpp</li>
+ <li>variadic/</li>
+ <li class="ps">elem.hpp (v)</li>
+ <li class="ps">size.hpp (v)</li>
+ <li class="ps">to_array.hpp (v)</li>
+ <li class="ps">to_list.hpp (v)</li>
+ <li class="ps">to_seq.hpp (v)</li>
+ <li class="ps">to_tuple.hpp (v)</li>
+ <li>while.hpp*</li>
+ <li>wstringize.hpp</li>
+</ul>
+<!--
+© 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
+http://www.boost.org/LICENSE_1_0.txt)
+-->
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,36 @@
+<html>
+<head>
+ <title>arithmetic.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>arithmetic.hpp</b> includes the headers in the <i>arithmetic</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/arithmetic.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/arithmetic/add.hpp></li>
+ <li><boost/preprocessor/arithmetic/dec.hpp></li>
+ <li><boost/preprocessor/arithmetic/div.hpp></li>
+ <li><boost/preprocessor/arithmetic/inc.hpp></li>
+ <li><boost/preprocessor/arithmetic/mod.hpp></li>
+ <li><boost/preprocessor/arithmetic/mul.hpp></li>
+ <li><boost/preprocessor/arithmetic/sub.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/add.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/add.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>arithmetic/add.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>arithmetic/add.hpp</b> header defines macros for addition.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/arithmetic/add.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ADD</li>
+ <li>BOOST_PP_ADD_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/dec.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/dec.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>arithmetic/dec.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>arithmetic/dec.hpp</b> header defines a decrementation macro.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/arithmetic/dec.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_DEC</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/div.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/div.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>arithmetic/div.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>arithmetic/div.hpp</b> header defines macros for division.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/arithmetic/div.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_DIV</li>
+ <li>BOOST_PP_DIV_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/inc.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/inc.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>arithmetic/inc.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>arithmetic/inc.hpp</b> header defines an incrementation macro.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/arithmetic/inc.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_INC</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/mod.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/mod.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>arithmetic/mod.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>arithmetic/mod.hpp</b> header defines macros for modulus.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/arithmetic/mod.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_MOD</li>
+ <li>BOOST_PP_MOD_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/mul.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/mul.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>arithmetic/mul.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>arithmetic/mul.hpp</b> header defines macros for multiplication.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/arithmetic/mul.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_MUL</li>
+ <li>BOOST_PP_MUL_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/sub.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/arithmetic/sub.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>arithmetic/sub.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>arithmetic/sub.hpp</b> header defines macros for subtraction.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/arithmetic/sub.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_SUB</li>
+ <li>BOOST_PP_SUB_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,43 @@
+<html>
+<head>
+ <title>array.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>array.hpp</b> includes the headers in the <i>array</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/array.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/array/data.hpp></li>
+ <li><boost/preprocessor/array/elem.hpp></li>
+ <li><boost/preprocessor/array/enum.hpp></li>
+ <li><boost/preprocessor/array/insert.hpp></li>
+ <li><boost/preprocessor/array/pop_back.hpp></li>
+ <li><boost/preprocessor/array/pop_front.hpp></li>
+ <li><boost/preprocessor/array/push_back.hpp></li>
+ <li><boost/preprocessor/array/push_front.hpp></li>
+ <li><boost/preprocessor/array/remove.hpp></li>
+ <li><boost/preprocessor/array/replace.hpp></li>
+ <li><boost/preprocessor/array/reverse.hpp></li>
+ <li><boost/preprocessor/array/size.hpp></li>
+ <li><boost/preprocessor/array/to_list.hpp></li>
+ <li><boost/preprocessor/array/to_seq.hpp></li>
+ <li><boost/preprocessor/array/to_tuple.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ <br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/data.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/data.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>array/data.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>array/data.hpp</b> header defines a macro to extract the <i>tuple</i> data from an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/array/data.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_DATA</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/elem.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/elem.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>array/elem.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>array/elem.hpp</b> header defines a macro to extract elements from an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/array/elem.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_ELEM</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/enum.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/enum.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,24 @@
+<html>
+<head>
+ <title>array/enum.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+<div style="margin-left: 0px;"> The <b>array/enum.hpp</b> header
+defines a macro to convert an <i>array</i> to its comma-separated elements. </div>
+<h4>Usage</h4>
+<div class="code"> #include <b>&lt;boost/preprocessor/array/enum.hpp&gt;</b>
+</div>
+<h4>Contents</h4>
+<ul>
+ <li>BOOST_PP_ARRAY_ENUM</li>
+</ul>
+<hr size="1">
+<div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i> </div>
+<div style="margin-left: 0px;">
+<p><small>Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt
+or copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+</div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/insert.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/insert.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>array/insert.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>array/insert.hpp</b> header defines macros to insert an element into an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/array/insert.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_INSERT</li>
+ <li>BOOST_PP_ARRAY_INSERT_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/pop_back.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/pop_back.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>array/pop_back.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>array/pop_back.hpp</b> header defines macros to pop an element from the end of an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/array/pop_back.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_POP_BACK</li>
+ <li>BOOST_PP_ARRAY_POP_BACK_Z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/pop_front.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/pop_front.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>array/pop_front.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>array/pop_front.hpp</b> header defines macros to pop an element from the beginning of an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/array/pop_front.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_POP_FRONT</li>
+ <li>BOOST_PP_ARRAY_POP_FRONT_Z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/push_back.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/push_back.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>array/push_back.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>array/push_back.hpp</b> header defines a macro to append an element to the end of an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/array/push_back.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_PUSH_BACK</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/push_front.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/push_front.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>array/push_front.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>array/push_front.hpp</b> header defines a macro to append an element to the beginning of an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/array/push_front.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_PUSH_FRONT</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/remove.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/remove.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>array/remove.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>array/remove.hpp</b> header defines macros to remove an element from an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/array/remove.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_REMOVE</li>
+ <li>BOOST_PP_ARRAY_REMOVE_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/replace.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/replace.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>array/replace.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>array/replace.hpp</b> header defines macros to replace an element in an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/array/replace.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_REPLACE</li>
+ <li>BOOST_PP_ARRAY_REPLACE_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/reverse.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/reverse.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>array/reverse.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>array/reverse.hpp</b> header defines macros to reverse the elements in an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/array/reverse.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_REVERSE</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/size.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/size.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>array/size.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>array/size.hpp</b> header defines a macro that extracts the size of an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/array/size.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_SIZE</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/to_list.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/to_list.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,24 @@
+<html>
+<head>
+ <title>array/to_list.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+<div style="margin-left: 0px;"> The <b>array/to_list.hpp</b> header
+defines a macro that converts an <i>array</i> to a <i>list</i>. </div>
+<h4>Usage</h4>
+<div class="code"> #include <b>&lt;boost/preprocessor/array/to_list.hpp&gt;</b>
+</div>
+<h4>Contents</h4>
+<ul>
+ <li>BOOST_PP_ARRAY_TO_LIST</li>
+</ul>
+<hr size="1">
+<div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i> </div>
+<div style="margin-left: 0px;">
+<p><small>Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt
+or copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+</div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/to_seq.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/to_seq.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,24 @@
+<html>
+<head>
+ <title>array/to_seq.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+<div style="margin-left: 0px;"> The <b>array/to_seq.hpp</b> header
+defines a macro that converts an <i>array</i> to a <i>seq.</i> </div>
+<h4>Usage</h4>
+<div class="code"> #include <b>&lt;boost/preprocessor/array/to_seq.hpp&gt;</b>
+</div>
+<h4>Contents</h4>
+<ul>
+ <li>BOOST_PP_ARRAY_TO_SEQ</li>
+</ul>
+<hr size="1">
+<div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i> </div>
+<div style="margin-left: 0px;">
+<p><small>Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt
+or copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+</div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/array/to_tuple.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/array/to_tuple.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,24 @@
+<html>
+ <head>
+ <title>array/to_tuple.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+<div style="margin-left: 0px;"> The <b>array/to_tuple.hpp</b> header
+defines a macro that converts an <i>array </i>to a <i>tuple</i>. </div>
+<h4>Usage</h4>
+<div class="code"> #include <b>&lt;boost/preprocessor/array/to_tuple.hpp&gt;</b>
+</div>
+<h4>Contents</h4>
+<ul>
+ <li>BOOST_PP_ARRAY_TO_TUPLE</li>
+</ul>
+<hr size="1">
+<div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i> </div>
+<div style="margin-left: 0px;">
+<p><small>Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt
+or copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+</div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/assert_msg.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/assert_msg.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>assert_msg.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>assert_msg.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/assert_msg.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/debug/assert.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/cat.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/cat.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>cat.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>cat.hpp</b> header defines a concatenation macro.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/cat.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_CAT</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/comma.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/comma.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>comma.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>comma.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/comma.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/punctuation/comma.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/comma_if.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/comma_if.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>comma_if.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>comma_if.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/comma_if.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/punctuation/comma_if.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/comparison.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/comparison.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+<html>
+<head>
+ <title>comparison.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>comparison.hpp</b> includes the headers in the <i>comparison</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/comparison.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/comparison/equal.hpp></li>
+ <li><boost/preprocessor/comparison/greater.hpp></li>
+ <li><boost/preprocessor/comparison/greater_equal.hpp></li>
+ <li><boost/preprocessor/comparison/less.hpp></li>
+ <li><boost/preprocessor/comparison/less_equal.hpp></li>
+ <li><boost/preprocessor/comparison/not_equal.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/comparison/equal.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/comparison/equal.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>comparison/equal.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>comparison/equal.hpp</b> header defines macros that compare for equality.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/comparison/equal.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_EQUAL</li>
+ <li>BOOST_PP_EQUAL_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/comparison/greater.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/comparison/greater.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>comparison/greater.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>comparison/greater.hpp</b> header defines macros that compare for greater magnitude.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/comparison/greater.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_GREATER</li>
+ <li>BOOST_PP_GREATER_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/comparison/greater_equal.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/comparison/greater_equal.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>comparison/greater_equal.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>comparison/greater_equal.hpp</b> header defines macros that compare for equality or greater magnitude.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/comparison/greater_equal.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_GREATER_EQUAL</li>
+ <li>BOOST_PP_GREATER_EQUAL_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/comparison/less.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/comparison/less.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>comparison/less.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>comparison/less.hpp</b> header defines macros that compare for lesser magnitude.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/comparison/less.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LESS</li>
+ <li>BOOST_PP_LESS_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/comparison/less_equal.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/comparison/less_equal.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>comparison/less_equal.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>comparison/less_equal.hpp</b> header defines macros that compare for equality or lesser magnitude.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/comparison/less_equal.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LESS_EQUAL</li>
+ <li>BOOST_PP_LESS_EQUAL_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/comparison/not_equal.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/comparison/not_equal.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>comparison/not_equal.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>comparison/not_equal.hpp</b> header defines macros that compare for equality.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/comparison/not_equal.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_NOT_EQUAL</li>
+ <li>BOOST_PP_NOT_EQUAL_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/config/limits.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/config/limits.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,44 @@
+<html>
+<head>
+ <title>config/limits.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>config/limits.hpp</b> header defines various library limits.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/config/limits.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>BOOST_PP_LIMIT_DIM</li>
+ <li>BOOST_PP_LIMIT_FOR</li>
+ <li>BOOST_PP_LIMIT_ITERATION</li>
+ <li>BOOST_PP_LIMIT_ITERATION_DIM</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ <li>BOOST_PP_LIMIT_SEQ</li>
+ <li>BOOST_PP_LIMIT_SLOT_COUNT</li>
+ <li>BOOST_PP_LIMIT_SLOT_SIG</li>
+ <li>BOOST_PP_LIMIT_TUPLE</li>
+ <li>BOOST_PP_LIMIT_WHILE</li>
+ <li>BOOST_PP_LIMIT_VARIADIC</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ <br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/config/variadics.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/config/variadics.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,32 @@
+<html>
+<head>
+ <title>config/variadics.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>config/variadics.hpp</b>
+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. </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/config/variadics.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>BOOST_PP_VARIADICS</li></ul>
+ <hr size="1">
+ <div style="margin-left: 0px;"><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/control.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/control.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+<html>
+<head>
+ <title>control.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>control.hpp</b> includes the headers in the <i>control</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/control.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/control/deduce_d.hpp></li>
+ <li><boost/preprocessor/control/expr_if.hpp></li>
+ <li><boost/preprocessor/control/expr_iif.hpp></li>
+ <li><boost/preprocessor/control/if.hpp></li>
+ <li><boost/preprocessor/control/iif.hpp></li>
+ <li><boost/preprocessor/control/while.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/control/deduce_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/control/deduce_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>control/deduce_d.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>control/deduce_d.hpp</b> header defines a macro to manually deduce the current state of the <b>BOOST_PP_WHILE</b> construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/control/deduce_d.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_DEDUCE_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/control/expr_if.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/control/expr_if.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>control/expr_if.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>control/expr_if.hpp</b> header defines a macro that expands to an expression selectively.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/control/expr_if.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_EXPR_IF</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/control/expr_iif.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/control/expr_iif.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>control/expr_iif.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>control/expr_iif.hpp</b> header defines a macro that expands to an expression selectively.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/control/expr_iif.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_EXPR_IIF</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/control/if.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/control/if.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>control/if.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>control/if.hpp</b> header defines a macro that chooses between two alternatives.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/control/if.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_IF</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/control/iif.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/control/iif.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>control/iif.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>control/iif.hpp</b> header defines a macro that chooses between two alternatives.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/control/iif.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_IIF</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/control/while.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/control/while.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>control/while.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>control/while.hpp</b> header defines a looping contruct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/control/while.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_WHILE</li>
+ <li>BOOST_PP_WHILE_d</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/debug.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/debug.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>debug.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>debug.hpp</b> includes the headers in the <i>debug</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/debug.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/debug/assert.hpp></li>
+ <li><boost/preprocessor/debug/line.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/debug/assert.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>debug/assert.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>debug/assert.hpp</b> header defines macros for preprocessing-time assertions.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/debug/assert.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ASSERT</li>
+ <li>BOOST_PP_ASSERT_MSG</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/debug/line.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/debug/line.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>debug/line.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>debug/line.hpp</b> header defines macros for preprocessing-time assertions.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/debug/line.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LINE</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/dec.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/dec.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>dec.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>dec.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/dec.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/arithmetic/dec.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/empty.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/empty.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>empty.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>empty.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/empty.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/facilities/empty.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/enum.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/enum.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>enum.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>enum.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/enum.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/enum.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/enum_params.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/enum_params.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>enum_params.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>enum_params.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/enum_params.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/enum_params.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/enum_shifted.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/enum_shifted.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>enum_shifted.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>enum_shifted.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/enum_shifted.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/enum_shifted.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/enum_shifted_params.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/enum_shifted_params.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>enum_shifted_params.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>enum_shifted_params.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/enum_shifted_params.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/enum_shifted_params.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/epwad.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/epwad.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>enum_params_with_a_default.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>enum_params_with_a_default.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/enum_params_with_a_default.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/enum_params_with_a_default.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/epwd.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/epwd.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>enum_params_with_defaults.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>enum_params_with_defaults.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/enum_params_with_defaults.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/enum_params_with_defaults.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/expand.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/expand.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>expand.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>expand.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/expand.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/facilities/expand.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/expr_if.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/expr_if.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>expr_if.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>expr_if.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/expr_if.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/control/expr_if.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/facilities.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/facilities.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>facilities.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>facilities.hpp</b> includes the headers in the <i>facilities</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/facilities.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/facilities/apply.hpp></li>
+ <li><boost/preprocessor/facilities/empty.hpp></li>
+ <li><boost/preprocessor/facilities/expand.hpp></li>
+ <li><boost/preprocessor/facilities/identity.hpp></li>
+ <li><boost/preprocessor/facilities/intercept.hpp></li>
+ <li><boost/preprocessor/facilities/overload.hpp> (v)</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ <br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/facilities/apply.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/facilities/apply.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>facilities/apply.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>facilities/apply.hpp</b> header defines facilities that abstract the difference between an argument and nothing.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/facilities/apply.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_APPLY</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/facilities/empty.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/facilities/empty.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>facilities/empty.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>facilities/empty.hpp</b> header defines a nullary macro that expands to nothing.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/facilities/empty.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_EMPTY</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/facilities/expand.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/facilities/expand.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>facilities/expand.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>facilities/expand.hpp</b> header defines a macro that causes double expansion.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/facilities/expand.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_EXPAND</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/facilities/identity.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/facilities/identity.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>facilities/identity.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>facilities/identity.hpp</b> header defines a utility macro to use with <b>BOOST_PP_IF</b> and <b>BOOST_PP_IIF</b>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/facilities/identity.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_IDENTITY</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/facilities/intercept.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/facilities/intercept.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>facilities/intercept.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>facilities/intercept.hpp</b> header defines a utility macro to intercept a numeric concatenation.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/facilities/intercept.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_INTERCEPT</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/facilities/overload.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/facilities/overload.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,28 @@
+<html>
+ <head>
+ <title>facilities/overload.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>facilities/overload.hpp</b> header defines variadic macros that overload non-variadic macros to accept different numbers of parameters.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/facilities/overload.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_OVERLOAD (v)</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+ </body>
+</html>
\ No newline at end of file

Added: branches/pplib/v2/libs/preprocessor/doc/headers/for.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/for.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>for.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>for.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/for.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/for.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/identity.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/identity.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>identity.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>identity.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/identity.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/facilities/identity.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/if.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/if.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>if.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>if.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/if.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/control/if.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/inc.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/inc.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>inc.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>inc.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/inc.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/arithmetic/inc.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/iterate.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/iterate.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>iterate.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>iterate.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/iterate.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/iteration/iterate.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/iteration.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/iteration.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,32 @@
+<html>
+<head>
+ <title>iteration.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>iteration.hpp</b> includes the headers in the <i>iteration</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/iteration.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/iteration/iterate.hpp></li>
+ <li><boost/preprocessor/iteration/local.hpp></li>
+ <li><boost/preprocessor/iteration/self.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/iteration/iterate.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/iteration/iterate.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,43 @@
+<html>
+<head>
+ <title>iteration/iterate.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>iteration/iterate.hpp</b> header defines a macros to interface with the <i>file-iteration</i> mechanism.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/iteration/iterate.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_FRAME_FINISH</li>
+ <li>BOOST_PP_FRAME_FLAGS</li>
+ <li>BOOST_PP_FRAME_ITERATION</li>
+ <li>BOOST_PP_FRAME_START</li>
+ <li>BOOST_PP_ITERATE</li>
+ <li>BOOST_PP_ITERATION</li>
+ <li>BOOST_PP_ITERATION_DEPTH</li>
+ <li>BOOST_PP_ITERATION_FINISH</li>
+ <li>BOOST_PP_ITERATION_FLAGS</li>
+ <li>BOOST_PP_ITERATION_START</li>
+ <li>BOOST_PP_RELATIVE_FINISH</li>
+ <li>BOOST_PP_RELATIVE_FLAGS</li>
+ <li>BOOST_PP_RELATIVE_ITERATION</li>
+ <li>BOOST_PP_RELATIVE_START</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/iteration/local.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/iteration/local.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>iteration/local.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>iteration/local.hpp</b> header defines a macro to interface with the <i>local-iteration</i> mechanism.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/iteration/local.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LOCAL_ITERATE</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/iteration/self.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/iteration/self.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>iteration/self.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>iteration/self.hpp</b> header defines a macro to facilitate self-inclusion.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/iteration/self.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_INCLUDE_SELF</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/library.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/library.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,26 @@
+<html>
+<head>
+ <title>library.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>library.hpp</b> includes the entire library.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/library.hpp&gt;</b>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/limits.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/limits.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>limits.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>limits.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/limits.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/config/limits.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,47 @@
+<html>
+<head>
+ <title>list.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list.hpp</b> includes the headers in the <i>list</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/list/adt.hpp></li>
+ <li><boost/preprocessor/list/append.hpp></li>
+ <li><boost/preprocessor/list/at.hpp></li>
+ <li><boost/preprocessor/list/cat.hpp></li>
+ <li><boost/preprocessor/list/enum.hpp></li>
+ <li><boost/preprocessor/list/filter.hpp></li>
+ <li><boost/preprocessor/list/first_n.hpp></li>
+ <li><boost/preprocessor/list/fold_left.hpp></li>
+ <li><boost/preprocessor/list/fold_right.hpp></li>
+ <li><boost/preprocessor/list/for_each.hpp></li>
+ <li><boost/preprocessor/list/for_each_i.hpp></li>
+ <li><boost/preprocessor/list/for_each_product.hpp></li>
+ <li><boost/preprocessor/list/rest_n.hpp></li>
+ <li><boost/preprocessor/list/reverse.hpp></li>
+ <li><boost/preprocessor/list/size.hpp></li>
+ <li><boost/preprocessor/list/to_array.hpp></li>
+ <li><boost/preprocessor/list/to_seq.hpp></li>
+ <li><boost/preprocessor/list/to_tuple.hpp></li>
+ <li><boost/preprocessor/list/transform.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ <br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/adt.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/adt.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+<html>
+<head>
+ <title>list/adt.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/adt.hpp</b> header defines basic operations for manipulating <i>lists</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/adt.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_CONS</li>
+ <li>BOOST_PP_LIST_FIRST</li>
+ <li>BOOST_PP_LIST_IS_CONS</li>
+ <li>BOOST_PP_LIST_IS_NIL</li>
+ <li>BOOST_PP_LIST_NIL</li>
+ <li>BOOST_PP_LIST_REST</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/append.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/append.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/append.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/append.hpp</b> header defines macros for appending one <i>list</i> to another.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/append.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_APPEND</li>
+ <li>BOOST_PP_LIST_APPEND_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/at.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/at.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/at.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/at.hpp</b> header defines macros for extracting an element from a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/at.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_AT</li>
+ <li>BOOST_PP_LIST_AT_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/cat.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/cat.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/cat.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/cat.hpp</b> header defines macros for concatenating all elements in a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/cat.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_CAT</li>
+ <li>BOOST_PP_LIST_CAT_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/enum.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/enum.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/enum.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/enum.hpp</b> header defines macros to convert a <i>list</i> to a comma-separated list.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/enum.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_ENUM</li>
+ <li>BOOST_PP_LIST_ENUM_R</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/filter.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/filter.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/filter.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/filter.hpp</b> header defines macros to filter a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/filter.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FILTER</li>
+ <li>BOOST_PP_LIST_FILTER_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/first_n.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/first_n.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/first_n.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/first_n.hpp</b> header defines macros for extracting a group of elements from the beginning of a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/first_n.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FIRST_N</li>
+ <li>BOOST_PP_LIST_FIRST_N_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/fold_left.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/fold_left.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>list/fold_left.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/fold_left.hpp</b> header defines folding (or accumulating) a <i>list</i> left-to-right.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/fold_left.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FOLD_LEFT</li>
+ <li>BOOST_PP_LIST_FOLD_LEFT_2ND</li>
+ <li>BOOST_PP_LIST_FOLD_LEFT_2ND_D</li>
+ <li>BOOST_PP_LIST_FOLD_LEFT_d</li>
+ <li>BOOST_PP_LIST_FOLD_LEFT_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/fold_right.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/fold_right.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>list/fold_right.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/fold_right.hpp</b> header defines folding (or accumulating) a <i>list</i> right-to-left.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/fold_right.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FOLD_RIGHT</li>
+ <li>BOOST_PP_LIST_FOLD_RIGHT_2ND</li>
+ <li>BOOST_PP_LIST_FOLD_RIGHT_2ND_D</li>
+ <li>BOOST_PP_LIST_FOLD_RIGHT_d</li>
+ <li>BOOST_PP_LIST_FOLD_RIGHT_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/for_each.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/for_each.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/for_each.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/for_each.hpp</b> header defines macros to repeat a macro for each element in a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/for_each.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FOR_EACH</li>
+ <li>BOOST_PP_LIST_FOR_EACH_R</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/for_each_i.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/for_each_i.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/for_each_i.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/for_each_i.hpp</b> header defines macros to repeat a macro for each element in a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/for_each_i.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FOR_EACH_I</li>
+ <li>BOOST_PP_LIST_FOR_EACH_I_R</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/for_each_product.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/for_each_product.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/for_each_product.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/for_each_product.hpp</b> header defines macros to repeat a macro for each cartesian product of several <i>lists</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/for_each_product.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FOR_EACH_PRODUCT</li>
+ <li>BOOST_PP_LIST_FOR_EACH_PRODUCT_R</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/rest_n.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/rest_n.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/rest_n.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/rest_n.hpp</b> header defines macros for extracting a group of elements from the end of a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/rest_n.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_REST_N</li>
+ <li>BOOST_PP_LIST_REST_N_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/reverse.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/reverse.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/reverse.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/reverse.hpp</b> header defines macros to reverse a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/reverse.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_REVERSE</li>
+ <li>BOOST_PP_LIST_REVERSE_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/size.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/size.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/size.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/size.hpp</b> header defines macros to calculate the size of a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/size.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_SIZE</li>
+ <li>BOOST_PP_LIST_SIZE_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/to_array.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/to_array.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,29 @@
+<html>
+<head>
+ <title>list/to_array.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/to_array.hpp</b> header defines a macro to convert a <i>list</i> to an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/to_array.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_TO_ARRAY</li>
+
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/to_seq.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/to_seq.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,25 @@
+<html><head>
+ <title>list/to_seq.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>list/to_seq.hpp</b> header defines a macro to convert a <i>list</i> to a <i>seq</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/to_seq.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_TO_SEQ</li>
+
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/to_tuple.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/to_tuple.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/to_tuple.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/to_tuple.hpp</b> header defines macros to convert a <i>list</i> to a <i>tuple</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/to_tuple.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_TO_TUPLE</li>
+ <li>BOOST_PP_LIST_TO_TUPLE_R</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/list/transform.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/list/transform.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>list/transform.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>list/transform.hpp</b> header defines macros to transform a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/list/transform.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LIST_TRANSFORM</li>
+ <li>BOOST_PP_LIST_TRANSFORM_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/logical.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/logical.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,40 @@
+<html>
+<head>
+ <title>logical.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>logical.hpp</b> includes the headers in the <i>logical</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/logical.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/logical/and.hpp></li>
+ <li><boost/preprocessor/logical/bitand.hpp></li>
+ <li><boost/preprocessor/logical/bitnor.hpp></li>
+ <li><boost/preprocessor/logical/bitor.hpp></li>
+ <li><boost/preprocessor/logical/bitxor.hpp></li>
+ <li><boost/preprocessor/logical/bool.hpp></li>
+ <li><boost/preprocessor/logical/compl.hpp></li>
+ <li><boost/preprocessor/logical/nor.hpp></li>
+ <li><boost/preprocessor/logical/not.hpp></li>
+ <li><boost/preprocessor/logical/or.hpp></li>
+ <li><boost/preprocessor/logical/xor.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/logical/and.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/logical/and.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>logical/and.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>logical/and.hpp</b> header defines a macro that expands to the logical <i>AND</i> of its operands.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/logical/and.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_AND</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/logical/bitand.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/logical/bitand.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>logical/bitand.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>logical/bitand.hpp</b> header defines a macro that expands to the bitwise <i>AND</i> of its operands.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/logical/bitand.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_BITAND</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/logical/bitnor.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/logical/bitnor.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>logical/bitnor.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>logical/bitnor.hpp</b> header defines a macro that expands to the bitwise <i>NOR</i> of its operands.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/logical/bitnor.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_BITNOR</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/logical/bitor.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/logical/bitor.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>logical/bitor.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>logical/bitor.hpp</b> header defines a macro that expands to the bitwise <i>OR</i> of its operands.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/logical/bitor.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_BITOR</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/logical/bitxor.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/logical/bitxor.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>logical/bitxor.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>logical/bitxor.hpp</b> header defines a macro that expands to the bitwise <i>XOR</i> of its operands.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/logical/bitxor.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_BITXOR</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/logical/bool.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/logical/bool.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>logical/bool.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>logical/bool.hpp</b> header defines a macro that performs a boolean conversion on its operand.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/logical/bool.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_BOOL</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/logical/compl.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/logical/compl.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>logical/compl.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>logical/compl.hpp</b> header defines a macro that performs a bitwise inversion on its operand.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/logical/compl.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_COMPL</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/logical/nor.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/logical/nor.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>logical/nor.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>logical/nor.hpp</b> header defines a macro that expands to the logical <i>NOR</i> of its operands.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/logical/nor.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_NOR</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/logical/not.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/logical/not.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>logical/not.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>logical/not.hpp</b> header defines a macro that performs a logical <i>NOT</i> on its operand.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/logical/not.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_NOT</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/logical/or.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/logical/or.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>logical/or.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>logical/or.hpp</b> header defines a macro that expands to the logical <i>OR</i> of its operands.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/logical/or.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_OR</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/logical/xor.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/logical/xor.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>logical/xor.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>logical/xor.hpp</b> header defines a macro that expands to the logical <i>XOR</i> of its operands.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/logical/xor.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_XOR</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/max.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/max.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>max.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>max.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/max.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/selection/max.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/min.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/min.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>min.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>min.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/min.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/selection/min.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/preprocessor.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/preprocessor.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,26 @@
+<html>
+<head>
+ <title>preprocessor.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>preprocessor.hpp</b> includes the entire library.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor.hpp&gt;</b>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/punctuation.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/punctuation.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,33 @@
+<html>
+<head>
+ <title>punctuation.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>punctuation.hpp</b> includes the headers in the <i>punctuation</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/punctuation.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/punctuation/comma.hpp></li>
+ <li><boost/preprocessor/punctuation/comma_if.hpp></li>
+ <li><boost/preprocessor/punctuation/paren.hpp></li>
+ <li><boost/preprocessor/punctuation/paren_if.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/punctuation/comma.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/punctuation/comma.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>punctuation/comma.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>punctuation/comma.hpp</b> header defines a macro that expands to a comma.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/punctuation/comma.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_COMMA</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/punctuation/comma_if.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/punctuation/comma_if.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>punctuation/comma_if.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>punctuation/comma_if.hpp</b> header defines a macro that conditionally expands to a comma.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/punctuation/comma_if.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_COMMA_IF</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/punctuation/paren.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/punctuation/paren.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>punctuation/paren.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>punctuation/paren.hpp</b> header defines macros that expand to left and right parentheses.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/punctuation/paren.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LPAREN</li>
+ <li>BOOST_PP_RPAREN</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/punctuation/paren_if.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/punctuation/paren_if.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>punctuation/paren_if.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>punctuation/paren_if.hpp</b> header defines macros that conditionally expand to left and right parentheses.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/punctuation/paren_if.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_LPAREN_IF</li>
+ <li>BOOST_PP_RPAREN_IF</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repeat.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repeat.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repeat.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repeat.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repeat.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/repeat.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repeat_2nd.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repeat_2nd.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repeat_2nd.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repeat_2nd.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repeat_2nd.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/repeat.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repeat_3rd.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repeat_3rd.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repeat_3rd.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repeat_3rd.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repeat_3rd.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/repeat.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repeat_from_to.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repeat_from_to.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repeat_from_to.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repeat_from_to.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repeat_from_to.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/repeat_from_to.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repeat_from_to_2nd.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repeat_from_to_2nd.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repeat_from_to_2nd.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repeat_from_to_2nd.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repeat_from_to_2nd.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/repeat_from_to.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repeat_from_to_3rd.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repeat_from_to_3rd.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repeat_from_to_3rd.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repeat_from_to_3rd.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repeat_from_to_3rd.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/repeat_from_to.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,44 @@
+<html>
+<head>
+ <title>repetition.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition.hpp</b> includes the headers in the <i>repetition</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/repetition/deduce_r.hpp></li>
+ <li><boost/preprocessor/repetition/deduce_z.hpp></li>
+ <li><boost/preprocessor/repetition/enum.hpp></li>
+ <li><boost/preprocessor/repetition/enum_binary_params.hpp></li>
+ <li><boost/preprocessor/repetition/enum_params.hpp></li>
+ <li><boost/preprocessor/repetition/enum_params_with_a_default.hpp></li>
+ <li><boost/preprocessor/repetition/enum_params_with_defaults.hpp></li>
+ <li><boost/preprocessor/repetition/enum_shifted_params.hpp></li>
+ <li><boost/preprocessor/repetition/enum_shifted.hpp></li>
+ <li><boost/preprocessor/repetition/enum_trailing.hpp></li>
+ <li><boost/preprocessor/repetition/enum_trailing_binary_params.hpp></li>
+ <li><boost/preprocessor/repetition/enum_trailing_params.hpp></li>
+ <li><boost/preprocessor/repetition/for.hpp></li>
+ <li><boost/preprocessor/repetition/repeat.hpp></li>
+ <li><boost/preprocessor/repetition/repeat_from_to.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/deduce_r.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/deduce_r.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>control/deduce_r.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/deduce_r.hpp</b> header defines a macro to manually deduce the current state of the <b>BOOST_PP_FOR</b> construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/deduce_r.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_DEDUCE_R</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/deduce_z.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/deduce_z.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>control/deduce_z.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/deduce_z.hpp</b> header defines a macro to manually deduce the current state of the <b>BOOST_PP_REPEAT</b> construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/deduce_z.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_DEDUCE_Z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repetition/enum.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/enum.hpp</b> header defines a construct that produces a comma-separated list.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/enum.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ENUM</li>
+ <li>BOOST_PP_ENUM_z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_binary_params.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_binary_params.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repetition/enum_binary_params.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/enum_binary_params.hpp</b> header defines a construct that produces a comma-separated list of binary parameters.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/enum_binary_params.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_BINARY_PARAMS</li>
+ <li>BOOST_PP_ENUM_BINARY_PARAMS_Z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_params.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_params.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repetition/enum_params.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/enum_params.hpp</b> header defines a construct that produces a comma-separated list of parameters.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/enum_params.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_PARAMS</li>
+ <li>BOOST_PP_ENUM_PARAMS_Z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_shifted.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_shifted.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repetition/enum_shifted.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/enum_shifted.hpp</b> header defines a construct that produces a comma-separated, shifted list.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/enum_shifted.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_SHIFTED</li>
+ <li>BOOST_PP_ENUM_SHIFTED_z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_shifted_params.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_shifted_params.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repetition/enum_shifted_params.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/enum_shifted_params.hpp</b> header defines a construct that produces a comma-separated list of parameters.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/enum_shifted_params.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_SHIFTED_PARAMS</li>
+ <li>BOOST_PP_ENUM_SHIFTED_PARAMS_z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_trailing.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_trailing.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repetition/enum_trailing.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/enum_trailing.hpp</b> header defines a construct that produces a comma-separated list with a leading comma.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/enum_trailing.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_TRAILING</li>
+ <li>BOOST_PP_ENUM_TRAILING_z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_trailing_params.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/enum_trailing_params.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repetition/enum_trailing_params.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/enum_trailing_params.hpp</b> header defines a construct that produces a comma-separated list of parameters with a leading comma.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/enum_trailing_params.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_TRAILING_PARAMS</li>
+ <li>BOOST_PP_ENUM_TRAILING_PARAMS_Z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/epwad.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/epwad.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>repetition/enum_params_with_a_default.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/enum_params_with_a_default.hpp</b> header defines a construct that produces a comma-separated list of parameters with a default argument.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/enum_params_with_a_default.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/epwd.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/epwd.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>repetition/enum_params_with_defaults.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/enum_params_with_defaults.hpp</b> header defines a construct that produces a comma-separated list of parameters with default arguments.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/enum_params_with_defaults.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/esbp.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/esbp.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repetition/enum_shifted_binary_params.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/enum_shifted_binary_params.hpp</b> header defines a construct that produces a comma-separated list of binary parameters.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/enum_shifted_binary_params.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS</li>
+ <li>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/etbp.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/etbp.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repetition/enum_trailing_binary_params.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/enum_trailing_binary_params.hpp</b> header defines a construct that produces a comma-separated list of binary parameters with a leading comma.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/enum_trailing_binary_params.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</li>
+ <li>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/for.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/for.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>repetition/for.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/for.hpp</b> header defines a generalized horizontal repetition construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/for.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_FOR</li>
+ <li>BOOST_PP_FOR_r</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/repeat.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/repeat.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>repetition/repeat.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/repeat.hpp</b> header defines a fast horizontal repetition construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/repeat.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_REPEAT</li>
+ <li>BOOST_PP_REPEAT_1ST</li>
+ <li>BOOST_PP_REPEAT_2ND</li>
+ <li>BOOST_PP_REPEAT_3RD</li>
+ <li>BOOST_PP_REPEAT_z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/repetition/repeat_from_to.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/repetition/repeat_from_to.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,36 @@
+<html>
+<head>
+ <title>repetition/repeat_from_to.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>repetition/repeat_from_to.hpp</b> header defines a horizontal repetition construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/repetition/repeat_from_to.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_REPEAT_FROM_TO</li>
+ <li>BOOST_PP_REPEAT_FROM_TO_1ST</li>
+ <li>BOOST_PP_REPEAT_FROM_TO_2ND</li>
+ <li>BOOST_PP_REPEAT_FROM_TO_3RD</li>
+ <li>BOOST_PP_REPEAT_FROM_TO_D</li>
+ <li>BOOST_PP_REPEAT_FROM_TO_D_z</li>
+ <li>BOOST_PP_REPEAT_FROM_TO_z</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/selection.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/selection.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>selection.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>selection.hpp</b> includes the headers in the <i>selection</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/selection.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/selection/max.hpp></li>
+ <li><boost/preprocessor/selection/min.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/selection/max.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/selection/max.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>selection/max.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>selection/max.hpp</b> header defines a macro that returns the greater of two elements.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/selection/max.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_MAX</li>
+ <li>BOOST_PP_MAX_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/selection/min.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/selection/min.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>selection/min.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>selection/min.hpp</b> header defines a macro that returns the lesser of two elements.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/selection/min.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_MIN</li>
+ <li>BOOST_PP_MIN_D</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,84 @@
+<html>
+<head>
+ <title>seq.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>seq.hpp</b> includes the headers in the <i>seq</i> folder.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq.hpp&gt;</b>
+ </div>
+ <h4>
+ Includes
+ </h4>
+ <ul>
+ <li>
+ <boost/preprocessor/seq/cat.hpp></li>
+ <li>
+ <boost/preprocessor/seq/elem.hpp></li>
+ <li>
+ <boost/preprocessor/seq/enum.hpp></li>
+ <li>
+ <boost/preprocessor/seq/filter.hpp></li>
+ <li>
+ <boost/preprocessor/seq/first_n.hpp></li>
+ <li>
+ <boost/preprocessor/seq/fold_left.hpp></li>
+ <li>
+ <boost/preprocessor/seq/fold_right.hpp></li>
+ <li>
+ <boost/preprocessor/seq/for_each.hpp></li>
+ <li>
+ <boost/preprocessor/seq/for_each_i.hpp></li>
+ <li>
+ <boost/preprocessor/seq/for_each_product.hpp></li>
+ <li>
+ <boost/preprocessor/seq/insert.hpp></li>
+ <li>
+ <boost/preprocessor/seq/pop_back.hpp></li>
+ <li>
+ <boost/preprocessor/seq/pop_front.hpp></li>
+ <li>
+ <boost/preprocessor/seq/push_back.hpp></li>
+ <li>
+ <boost/preprocessor/seq/push_front.hpp></li>
+ <li>
+ <boost/preprocessor/seq/remove.hpp></li>
+ <li>
+ <boost/preprocessor/seq/replace.hpp></li>
+ <li>
+ <boost/preprocessor/seq/rest_n.hpp></li>
+ <li>
+ <boost/preprocessor/seq/reverse.hpp></li>
+ <li>
+ <boost/preprocessor/seq/seq.hpp></li>
+ <li>
+ <boost/preprocessor/seq/size.hpp></li>
+ <li>
+ <boost/preprocessor/seq/subseq.hpp></li>
+ <li>
+ <boost/preprocessor/seq/to_array.hpp></li>
+ <li>
+ <boost/preprocessor/seq/to_list.hpp></li>
+ <li>
+ <boost/preprocessor/seq/to_tuple.hpp></li>
+ <li>
+ <boost/preprocessor/seq/transform.hpp></li>
+ </ul>
+<hr size="1">
+<div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ <br><i>© Copyright Paul Mensonides 2002</i>
+</div>
+<div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+</div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/cat.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/cat.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,38 @@
+<html>
+ <head>
+ <title>seq/cat.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/cat.hpp</b> header defines macros for concatenating all elements in
+ a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/cat.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_CAT</li>
+ <li>
+ BOOST_PP_SEQ_CAT_S</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/elem.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/elem.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+<html>
+ <head>
+ <title>seq/elem.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/elem.hpp</b> header defines a macro to extract an element from a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/elem.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_ELEM</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/enum.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/enum.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+<html>
+ <head>
+ <title>seq/enum.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/enum.hpp</b> header defines a macro to enumerate the elements in a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/enum.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_ENUM</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/filter.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/filter.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,37 @@
+<html>
+ <head>
+ <title>seq/filter.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/filter.hpp</b> header defines macros to filter a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/filter.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_FILTER</li>
+ <li>
+ BOOST_PP_SEQ_FILTER_S</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/first_n.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/first_n.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,36 @@
+<html>
+ <head>
+ <title>seq/first_n.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/first_n.hpp</b> header defines a macro that returns the first <i>N</i>
+ elements of a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/first_n.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_FIRST_N</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/fold_left.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/fold_left.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,38 @@
+<html>
+ <head>
+ <title>seq/fold_left.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/fold_left.hpp</b> header defines macros for folding (or
+ accumulating) a <i>seq</i> left-to-right.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/fold_left.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_FOLD_LEFT</li>
+ <li>
+ BOOST_PP_SEQ_FOLD_LEFT_s</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/fold_right.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/fold_right.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,38 @@
+<html>
+ <head>
+ <title>seq/fold_right.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/fold_right.hpp</b> header defines macros for folding (or
+ accumulating) a <i>seq</i> right-to-left.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/fold_right.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_FOLD_RIGHT</li>
+ <li>
+ BOOST_PP_SEQ_FOLD_RIGHT_s</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/for_each.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/for_each.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,38 @@
+<html>
+ <head>
+ <title>seq/for_each.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/for_each.hpp</b> header defines macros to repeat a macro for each
+ element in a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/for_each.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_FOR_EACH</li>
+ <li>
+ BOOST_PP_SEQ_FOR_EACH_R</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/for_each_i.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/for_each_i.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,38 @@
+<html>
+ <head>
+ <title>seq/for_each_i.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/for_each_i.hpp</b> header defines macros to repeat a macro for each
+ element in a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/for_each_i.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_FOR_EACH_I</li>
+ <li>
+ BOOST_PP_SEQ_FOR_EACH_I_R</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/for_each_product.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/for_each_product.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,38 @@
+<html>
+ <head>
+ <title>seq/for_each_product.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/for_each_product.hpp</b> header defines macros to repeat a macro for
+ each cartesian product of several <i>seqs</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/for_each_product.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_FOR_EACH_PRODUCT</li>
+ <li>
+ BOOST_PP_SEQ_FOR_EACH_PRODUCT_R</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/insert.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/insert.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+<html>
+ <head>
+ <title>seq/insert.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/insert.hpp</b> header defines a macro to insert an element into a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/insert.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_INSERT</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/pop_back.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/pop_back.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,36 @@
+<html>
+ <head>
+ <title>seq/pop_back.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/pop_back.hpp</b> header defines a macro to pop the last element off
+ a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/pop_back.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_POP_BACK</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/pop_front.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/pop_front.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,36 @@
+<html>
+ <head>
+ <title>seq/pop_front.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/pop_front.hpp</b> header defines a macro to pop the first element
+ off a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/pop_front.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_POP_FRONT</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/push_back.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/push_back.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+<html>
+ <head>
+ <title>seq/push_back.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/push_back.hpp</b> header defines a macro to append an element to a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/push_back.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_PUSH_BACK</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/push_front.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/push_front.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+<html>
+ <head>
+ <title>seq/push_front.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/push_front.hpp</b> header defines a macro to prepend an element to a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/push_front.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_PUSH_FRONT</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/remove.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/remove.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+<html>
+ <head>
+ <title>seq/remove.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/remove.hpp</b> header defines a macro to remove an element from a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/remove.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_REMOVE</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/replace.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/replace.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+<html>
+ <head>
+ <title>seq/replace.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/replace.hpp</b> header defines a macro to replace an element in a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/replace.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_REPLACE</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/rest_n.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/rest_n.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,36 @@
+<html>
+ <head>
+ <title>seq/rest_n.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/rest_n.hpp</b> header defines a macro for extracting a group of
+ elements from the end of a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/rest_n.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_REST_N</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/reverse.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/reverse.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,37 @@
+<html>
+ <head>
+ <title>seq/reverse.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/reverse.hpp</b> header defines macros to reverse a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/reverse.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_REVERSE</li>
+ <li>
+ BOOST_PP_SEQ_REVERSE_S</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/seq.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/seq.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,39 @@
+<html>
+ <head>
+ <title>seq/seq.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/seq.hpp</b> header defines basic primitives for manipulating <i>seqs</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/seq.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_HEAD</li>
+ <li>
+ BOOST_PP_SEQ_NIL</li>
+ <li>
+ BOOST_PP_SEQ_TAIL</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/size.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/size.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+<html>
+ <head>
+ <title>seq/size.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/size.hpp</b> header defines a macro to calculate the size of a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/size.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_SIZE</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/subseq.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/subseq.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+<html>
+ <head>
+ <title>seq/subseq.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/subseq.hpp</b> header defines a macro that extracts a subseq from a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/subseq.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_SUBSEQ</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/to_array.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/to_array.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,36 @@
+<html>
+ <head>
+ <title>seq/to_array.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/to_array.hpp</b> header defines a macro that converts a <i>seq</i> to
+ an <i>array</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/to_array.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_TO_ARRAY</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/to_list.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/to_list.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html><head>
+ <title>seq/to_list.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>seq/to_list.hpp</b> header defines a macro that converts a <i>seq</i> to
+ a <i>list</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/to_list.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_TO_LIST</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+ </body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/to_tuple.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/to_tuple.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,36 @@
+<html>
+ <head>
+ <title>seq/to_tuple.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/to_tuple.hpp</b> header defines a macro that converts a <i>seq</i> to
+ an <i>tuple</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/to_tuple.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_TO_TUPLE</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/seq/transform.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/seq/transform.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,37 @@
+<html>
+ <head>
+ <title>seq/transform.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>seq/transform.hpp</b> header defines macros to transform a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/seq/transform.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_SEQ_TRANSFORM</li>
+ <li>
+ BOOST_PP_SEQ_TRANSFORM_S</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/slot.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/slot.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>slot.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>slot.hpp</b> includes the headers in the <i>slot</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/slot.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/slot/slot.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/slot/counter.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/slot/counter.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>slot/counter.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>slot/counter.hpp</b> header defines macros used to generate numbers that are unique within a translation unit.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/slot/counter.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_COUNTER</li>
+ <li>BOOST_PP_UPDATE_COUNTER</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/slot/slot.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/slot/slot.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>slot/slot.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>slot/slot.hpp</b> header defines macros to manipulate <i>slots</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/slot/slot.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_ASSIGN_SLOT</li>
+ <li>BOOST_PP_SLOT</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/stringize.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/stringize.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>stringize.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>stringize.hpp</b> header defines a stringizing macro.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/stringize.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_STRINGIZE</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/tuple.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/tuple.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,37 @@
+<html>
+<head>
+ <title>tuple.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>tuple.hpp</b> includes the headers in the <i>tuple</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/tuple.hpp&gt;</b>
+ </div>
+ <h4>Includes<br></h4>
+ <ul>
+ <li><boost/preprocessor/tuple/eat.hpp> (v)</li>
+ <li><boost/preprocessor/tuple/elem.hpp> (v)</li>
+ <li><boost/preprocessor/tuple/enum.hpp> (v)</li>
+ <li><boost/preprocessor/tuple/rem.hpp> (v)</li>
+ <li><boost/preprocessor/tuple/reverse.hpp> (v)</li>
+ <li><boost/preprocessor/tuple/size.hpp> (v)</li>
+ <li><boost/preprocessor/tuple/to_array.hpp> (v)</li>
+ <li><boost/preprocessor/tuple/to_list.hpp> (v)</li>
+ <li><boost/preprocessor/tuple/to_seq.hpp> (v)</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ <br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/tuple/eat.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/tuple/eat.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,25 @@
+<html><head><title>tuple/eat.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>tuple/eat.hpp</b> header defines a macro eats a <i>tuple</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/tuple/eat.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_TUPLE_EAT (v)<br>
+</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ <br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/tuple/elem.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/tuple/elem.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,25 @@
+<html><head><title>tuple/elem.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>tuple/elem.hpp</b> header defines a macro to extract elements from a <i>tuple</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/tuple/elem.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_TUPLE_ELEM (v)<br>
+</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ <br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/tuple/enum.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/tuple/enum.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,25 @@
+<html><head>
+ <title>tuple/enum.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>tuple/enum.hpp</b> header defines a macro to onvert a <i>tuple</i> to its comma-separated elements.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/tuple/enum.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_TUPLE_ENUM (v)<br>
+</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/tuple/rem.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/tuple/rem.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,27 @@
+<html><head><title>tuple/rem.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>tuple/rem.hpp</b> header defines a macro that removes the parentheses from a <i>tuple</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/tuple/rem.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_TUPLE_REM (v)<br>
+</li>
+ <li>BOOST_PP_TUPLE_REM_CTOR (v)<br>
+</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ <br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/tuple/reverse.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/tuple/reverse.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,25 @@
+<html><head><title>tuple/reverse.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>tuple/reverse.hpp</b> header defines a macro that reverses a <i>tuple</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/tuple/reverse.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_TUPLE_REVERSE (v)<br>
+</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ <br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/tuple/size.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/tuple/size.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,25 @@
+<html><head>
+ <title>tuple/size.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>tuple/size.hpp</b> header defines a variadic macro that gives the number of elements in the <i>tuple</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/tuple/size.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_TUPLE_SIZE (v)<br>
+</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/tuple/to_array.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/tuple/to_array.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,25 @@
+<html><head>
+ <title>tuple/to_array.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>tuple/to_array.hpp</b> header defines a macro that converts a <i>tuple</i> to an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/tuple/to_array.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_TUPLE_TO_ARRAY (v)<br>
+</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/tuple/to_list.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/tuple/to_list.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,25 @@
+<html><head><title>tuple/to_list.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>tuple/to_list.hpp</b> header defines a macro that converts a <i>tuple</i> to a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/tuple/to_list.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_TUPLE_TO_LIST (v)<sup><br>
+ </sup></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ <br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/tuple/to_seq.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/tuple/to_seq.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html><head><title>tuple/to_seq.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>tuple/to_seq.hpp</b> header defines a macro that converts a <i>tuple</i>
+ to a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/tuple/to_seq.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_TUPLE_TO_SEQ (v)<br>
+</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ <br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+ </body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/variadic.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/variadic.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,33 @@
+<html>
+<head>
+ <title>variadic.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>variadic.hpp</b> includes the headers in the <i>variadic</i> folder.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/variadic.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/variadic/elem.hpp> (v)</li>
+ <li><boost/preprocessor/variadic/size.hpp> (v)</li>
+ <li><boost/preprocessor/variadic/to_array.hpp> (v)</li>
+ <li><boost/preprocessor/variadic/to_list.hpp> (v)</li>
+ <li><boost/preprocessor/variadic/to_seq.hpp> (v)</li>
+ <li><boost/preprocessor/variadic/to_tuple.hpp> (v)</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/variadic/elem.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/variadic/elem.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,29 @@
+<html>
+ <head>
+ <title>variadic/elem.hpp
+ </title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>variadic/elem.hpp</b> header defines a variadic macro to extract an element from <i>variadic data</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/variadic/elem.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_VARIADIC_ELEM (v)<br>
+</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/variadic/size.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/variadic/size.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,25 @@
+<html><head>
+ <title>variadic/size.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>variadic/size.hpp</b> header defines a variadic macro that gives the number of comma-separated elements in the <i>variadic data</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/variadic/size.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_VARIADIC_SIZE (v)<br>
+ </li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+ </body></html>
\ No newline at end of file

Added: branches/pplib/v2/libs/preprocessor/doc/headers/variadic/to_array.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/variadic/to_array.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,25 @@
+<html><head>
+ <title>variadic/to_array.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>variadic/to_array.hpp</b> header defines a variadic macro that converts <i>variadic data</i> to an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/variadic/to_array.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_VARIADIC_TO_ARRAY (v)<br>
+</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body></html>
\ No newline at end of file

Added: branches/pplib/v2/libs/preprocessor/doc/headers/variadic/to_list.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/variadic/to_list.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,25 @@
+<html><head>
+ <title>variadic/to_list.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>variadic/to_list.hpp</b> header defines a variadic macro that converts <i>variadic data </i>to a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/variadic/to_list.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_VARIADIC_TO_LIST (v)<br>
+</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body></html>
\ No newline at end of file

Added: branches/pplib/v2/libs/preprocessor/doc/headers/variadic/to_seq.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/variadic/to_seq.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html><head>
+ <title>variadic/to_seq.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>variadic/to_seq.hpp</b> header defines a variadic macro that converts <i>variadic data </i>to a <i>seq</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/variadic/to_seq.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_VARIADIC_TO_SEQ (v)<br>
+</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+ </body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/variadic/to_tuple.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/variadic/to_tuple.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html><head>
+ <title>variadic/to_tuple.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
+ <div style="margin-left: 0px;">
+ The <b>variadic/to_tuple.hpp</b> header defines a variadic macro that converts <i>variadic data</i>
+ to a <i>tuple</i>.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/variadic/to_tuple.hpp&gt;</b>
+ </div>
+ <h4>
+ Contents
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_VARIADIC_TO_TUPLE (v)<br>
+</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i></i><i>© Copyright Edward Diener 2011</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+ </body></html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/while.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/while.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>while.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>while.hpp</b> is a jumper header for backwards compatibility.&nbsp;
+ This header is deprecated.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/while.hpp&gt;</b>
+ </div>
+ <h4>Includes</h4>
+ <ul>
+ <li><boost/preprocessor/control/while.hpp></li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/headers/wstringize.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/headers/wstringize.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,30 @@
+<html>
+<head>
+ <title>wstringize.hpp</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>wstringize.hpp</b> header defines a wide stringizing macro.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>&lt;boost/preprocessor/wstringize.hpp&gt;</b>
+ </div>
+ <h4>Contents</h4>
+ <ul>
+ <li>BOOST_PP_WSTRINGIZE</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/index.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/index.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,23 @@
+<html>
+ <head>
+ <title>Boost.Preprocessor</title>
+ </head>
+ <frameset rows="65,*" frameborder="0">
+ <frame name="top" src="top.html" scrolling="no" noresize>
+ <frameset cols="350,*" frameborder="0" border="3">
+ <frame name="index" src="contents.html" scrolling="auto">
+ <frame name="desc" src="title.html" scrolling="auto">
+ </frameset>
+ <noframes>
+ ..</noframes>
+ </frameset>
+
+<!--
+© 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
+http://www.boost.org/LICENSE_1_0.txt)
+-->
+
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/miscellanea.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/miscellanea.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,24 @@
+<html>
+<head>
+ <title>miscellanea.html</title>
+ <link rel="stylesheet" type="text/css" href="styles.css">
+ <base target="desc">
+</head>
+<body>
+<h4>Miscellanea <small>[back]</small></h4>
+<ul>
+ <li>syntax highlighting</li>
+ <li>acknowledgements</li>
+ <li>bibliography</li>
+</ul>
+
+<!--
+© 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
+http://www.boost.org/LICENSE_1_0.txt)
+-->
+
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,302 @@
+<html>
+ <head>
+ <title>ref.html</title>
+ <link rel="stylesheet" type="text/css" href="styles.css">
+ <base target="desc">
+ </head>
+ <body>
+<h4> Reference <small>[back]</small>
+</h4>
+<ul>
+<!-- A -->
+ <li>ADD</li>
+ <li>ADD_D</li>
+ <li>AND</li>
+ <li>APPLY</li>
+ <li>ARRAY_DATA</li>
+ <li>ARRAY_ELEM</li>
+ <li>ARRAY_ENUM</li>
+ <li>ARRAY_INSERT</li>
+ <li>ARRAY_INSERT_D</li>
+ <li>ARRAY_POP_BACK</li>
+ <li>ARRAY_POP_BACK_Z</li>
+ <li>ARRAY_POP_FRONT</li>
+ <li>ARRAY_POP_FRONT_Z</li>
+ <li>ARRAY_PUSH_BACK</li>
+ <li>ARRAY_PUSH_FRONT</li>
+ <li>ARRAY_REMOVE</li>
+ <li>ARRAY_REMOVE_D</li>
+ <li>ARRAY_REPLACE</li>
+ <li>ARRAY_REPLACE_D</li>
+ <li>ARRAY_REVERSE</li>
+ <li>ARRAY_SIZE</li>
+ <li>ARRAY_TO_LIST</li>
+ <li>ARRAY_TO_SEQ</li>
+ <li>ARRAY_TO_TUPLE</li>
+ <li>ASSERT</li>
+ <li>ASSERT_MSG</li>
+ <li>ASSIGN_SLOT</li>
+<!-- B -->
+ <li>BITAND</li>
+ <li>BITNOR</li>
+ <li>BITOR</li>
+ <li>BITXOR</li>
+ <li>BOOL</li>
+<!-- C -->
+ <li>CAT</li>
+ <li>COMMA</li>
+ <li>COMMA_IF</li>
+ <li>COMPL</li>
+ <li>CONFIG_EXTENDED_LINE_INFO</li>
+ <li>COUNTER</li>
+<!-- D -->
+ <li>DEC</li>
+ <li>DEDUCE_D</li>
+ <li>DEDUCE_R</li>
+ <li>DEDUCE_Z</li>
+ <li>DIV</li>
+ <li>DIV_D</li>
+<!-- E -->
+ <li>EMPTY</li>
+ <li>ENUM</li>
+ <li>ENUM_BINARY_PARAMS</li>
+ <li>ENUM_BINARY_PARAMS_Z</li>
+ <li>ENUM_PARAMS</li>
+ <li>ENUM_PARAMS_WITH_A_DEFAULT*</li>
+ <li>ENUM_PARAMS_WITH_DEFAULTS*</li>
+ <li>ENUM_PARAMS_Z</li>
+ <li>ENUM_SHIFTED</li>
+ <li>ENUM_SHIFTED_BINARY_PARAMS</li>
+ <li>ENUM_SHIFTED_BINARY_PARAMS_Z</li>
+ <li>ENUM_SHIFTED_PARAMS</li>
+ <li>ENUM_SHIFTED_PARAMS_Z</li>
+ <li>ENUM_SHIFTED_z</li>
+ <li>ENUM_TRAILING</li>
+ <li>ENUM_TRAILING_BINARY_PARAMS</li>
+ <li>ENUM_TRAILING_BINARY_PARAMS_Z</li>
+ <li>ENUM_TRAILING_PARAMS</li>
+ <li>ENUM_TRAILING_PARAMS_Z</li>
+ <li>ENUM_TRAILING_z</li>
+ <li>ENUM_z</li>
+ <li>EQUAL</li>
+ <li>EQUAL_D*</li>
+ <li>EXPAND</li>
+ <li>EXPR_IF</li>
+ <li>EXPR_IIF</li>
+<!-- F -->
+ <li>FILENAME_x</li>
+ <li>FOR</li>
+ <li>FOR_r</li>
+ <li>FRAME_FINISH</li>
+ <li>FRAME_FLAGS</li>
+ <li>FRAME_ITERATION</li>
+ <li>FRAME_START</li>
+<!-- G -->
+ <li>GREATER</li>
+ <li>GREATER_D</li>
+ <li>GREATER_EQUAL</li>
+ <li>GREATER_EQUAL_D</li>
+<!-- I -->
+ <li>IDENTITY</li>
+ <li>IF</li>
+ <li>IIF</li>
+ <li>INC</li>
+ <li>INCLUDE_SELF</li>
+ <li>INDIRECT_SELF</li>
+ <li>INTERCEPT</li>
+ <li>IS_ITERATING</li>
+ <li>IS_SELFISH</li>
+ <li>ITERATE</li>
+ <li>ITERATION</li>
+ <li>ITERATION_DEPTH</li>
+ <li>ITERATION_FINISH</li>
+ <li>ITERATION_FLAGS</li>
+ <li>ITERATION_LIMITS</li>
+ <li>ITERATION_PARAMS_x</li>
+ <li>ITERATION_START</li>
+<!-- L -->
+ <li>LESS</li>
+ <li>LESS_D</li>
+ <li>LESS_EQUAL</li>
+ <li>LESS_EQUAL_D</li>
+ <li>LIMIT_DIM</li>
+ <li>LIMIT_FOR</li>
+ <li>LIMIT_ITERATION</li>
+ <li>LIMIT_ITERATION_DIM</li>
+ <li>LIMIT_MAG</li>
+ <li>LIMIT_REPEAT</li>
+ <li>LIMIT_SEQ</li>
+ <li>LIMIT_SLOT_COUNT</li>
+ <li>LIMIT_SLOT_SIG</li>
+ <li>LIMIT_TUPLE</li>
+ <li>LIMIT_VARIADIC</li>
+ <li>LIMIT_WHILE</li>
+ <li>LINE</li>
+ <li>LIST_APPEND</li>
+ <li>LIST_APPEND_D</li>
+ <li>LIST_AT</li>
+ <li>LIST_AT_D</li>
+ <li>LIST_CAT</li>
+ <li>LIST_CAT_D</li>
+ <li>LIST_CONS*</li>
+ <li>LIST_ENUM</li>
+ <li>LIST_ENUM_R</li>
+ <li>LIST_FILTER</li>
+ <li>LIST_FILTER_D</li>
+ <li>LIST_FIRST</li>
+ <li>LIST_FIRST_N</li>
+ <li>LIST_FIRST_N_D</li>
+ <li>LIST_FOLD_LEFT</li>
+ <li>LIST_FOLD_LEFT_2ND*</li>
+ <li>LIST_FOLD_LEFT_2ND_D*</li>
+ <li>LIST_FOLD_LEFT_d</li>
+ <li>LIST_FOLD_LEFT_D*</li>
+ <li>LIST_FOLD_RIGHT</li>
+ <li>LIST_FOLD_RIGHT_2ND*</li>
+ <li>LIST_FOLD_RIGHT_2ND_D*</li>
+ <li>LIST_FOLD_RIGHT_d</li>
+ <li>LIST_FOLD_RIGHT_D*</li>
+ <li>LIST_FOR_EACH</li>
+ <li>LIST_FOR_EACH_I</li>
+ <li>LIST_FOR_EACH_I_R</li>
+ <li>LIST_FOR_EACH_PRODUCT</li>
+ <li>LIST_FOR_EACH_PRODUCT_R</li>
+ <li>LIST_FOR_EACH_R</li>
+ <li>LIST_IS_CONS</li>
+ <li>LIST_IS_NIL</li>
+ <li>LIST_NIL*</li>
+ <li>LIST_REST</li>
+ <li>LIST_REST_N</li>
+ <li>LIST_REST_N_D</li>
+ <li>LIST_REVERSE</li>
+ <li>LIST_REVERSE_D</li>
+ <li>LIST_SIZE</li>
+ <li>LIST_SIZE_D</li>
+ <li>LIST_TO_ARRAY</li>
+ <li>LIST_TO_SEQ</li>
+ <li>LIST_TO_TUPLE</li>
+ <li>LIST_TO_TUPLE_R</li>
+ <li>LIST_TRANSFORM</li>
+ <li>LIST_TRANSFORM_D</li>
+ <li>LOCAL_ITERATE</li>
+ <li>LOCAL_LIMITS</li>
+ <li>LOCAL_MACRO</li>
+ <li>LPAREN</li>
+ <li>LPAREN_IF</li>
+<!-- M -->
+ <li>MAX</li>
+ <li>MAX_D</li>
+ <li>MIN</li>
+ <li>MIN_D</li>
+ <li>MOD</li>
+ <li>MOD_D</li>
+ <li>MUL</li>
+ <li>MUL_D</li>
+<!-- N -->
+ <li>NIL</li>
+ <li>NOR</li>
+ <li>NOT</li>
+ <li>NOT_EQUAL</li>
+ <li>NOT_EQUAL_D*</li>
+<!-- O -->
+ <li>OR</li>
+ <li>OVERLOAD (v)</li>
+<!-- R -->
+ <li>RELATIVE_FINISH</li>
+ <li>RELATIVE_FLAGS</li>
+ <li>RELATIVE_ITERATION</li>
+ <li>RELATIVE_START</li>
+ <li>REPEAT</li>
+ <li>REPEAT_1ST*</li>
+ <li>REPEAT_2ND*</li>
+ <li>REPEAT_3RD*</li>
+ <li>REPEAT_FROM_TO</li>
+ <li>REPEAT_FROM_TO_1ST*</li>
+ <li>REPEAT_FROM_TO_2ND*</li>
+ <li>REPEAT_FROM_TO_3RD*</li>
+ <li>REPEAT_FROM_TO_D</li>
+ <li>REPEAT_FROM_TO_D_z</li>
+ <li>REPEAT_FROM_TO_z</li>
+ <li>REPEAT_z</li>
+ <li>RPAREN</li>
+ <li>RPAREN_IF</li>
+<!-- S -->
+ <li>SEQ_CAT</li>
+ <li>SEQ_CAT_S</li>
+ <li>SEQ_ELEM</li>
+ <li>SEQ_ENUM</li>
+ <li>SEQ_FILTER</li>
+ <li>SEQ_FILTER_S</li>
+ <li>SEQ_FIRST_N</li>
+ <li>SEQ_FOLD_LEFT</li>
+ <li>SEQ_FOLD_LEFT_s</li>
+ <li>SEQ_FOLD_RIGHT</li>
+ <li>SEQ_FOLD_RIGHT_s</li>
+ <li>SEQ_FOR_EACH</li>
+ <li>SEQ_FOR_EACH_I</li>
+ <li>SEQ_FOR_EACH_I_R</li>
+ <li>SEQ_FOR_EACH_PRODUCT</li>
+ <li>SEQ_FOR_EACH_PRODUCT_R</li>
+ <li>SEQ_FOR_EACH_R</li>
+ <li>SEQ_HEAD</li>
+ <li>SEQ_INSERT</li>
+ <li>SEQ_NIL</li>
+ <li>SEQ_POP_BACK</li>
+ <li>SEQ_POP_FRONT</li>
+ <li>SEQ_PUSH_BACK</li>
+ <li>SEQ_PUSH_FRONT</li>
+ <li>SEQ_REMOVE</li>
+ <li>SEQ_REPLACE</li>
+ <li>SEQ_REST_N</li>
+ <li>SEQ_REVERSE</li>
+ <li>SEQ_REVERSE_S</li>
+ <li>SEQ_SIZE</li>
+ <li>SEQ_SUBSEQ</li>
+ <li>SEQ_TAIL</li>
+ <li>SEQ_TO_ARRAY</li>
+ <li>SEQ_TO_LIST</li>
+ <li>SEQ_TO_TUPLE</li>
+ <li>SEQ_TRANSFORM</li>
+ <li>SEQ_TRANSFORM_S</li>
+ <li>SLOT</li>
+ <li>STRINGIZE</li>
+ <li>SUB</li>
+ <li>SUB_D</li>
+<!-- T -->
+ <li>TUPLE_EAT (v)</li>
+ <li>TUPLE_ELEM (v)</li>
+ <li>TUPLE_ENUM (v)</li>
+ <li>TUPLE_REM (v)</li>
+ <li>TUPLE_REM_CTOR (v)</li>
+ <li>TUPLE_REVERSE (v)</li>
+ <li>TUPLE_SIZE (v)</li>
+ <li>TUPLE_TO_ARRAY (v)</li>
+ <li>TUPLE_TO_LIST (v)</li>
+ <li>TUPLE_TO_SEQ (v)</li>
+<!-- U -->
+ <li>UPDATE_COUNTER</li>
+<!-- V -->
+ <li>VALUE</li>
+ <li>VARIADICS</li>
+ <li>VARIADIC_ELEM (v)</li>
+ <li>VARIADIC_SIZE (v)</li>
+ <li>VARIADIC_TO_ARRAY (v)</li>
+ <li>VARIADIC_TO_LIST (v)</li>
+ <li>VARIADIC_TO_SEQ (v)</li>
+ <li>VARIADIC_TO_TUPLE (v)</li>
+<!-- W -->
+ <li>WHILE</li>
+ <li>WHILE_d</li>
+ <li>WSTRINGIZE</li>
+<!-- X -->
+ <li>XOR</li>
+</ul>
+<!--
+© 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
+http://www.boost.org/LICENSE_1_0.txt)
+-->
+ </body>
+</html>
\ No newline at end of file

Added: branches/pplib/v2/libs/preprocessor/doc/ref/add.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/add.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,68 @@
+<html>
+<head>
+ <title>BOOST_PP_ADD</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ADD</b> macro expands to the sum of its arguments.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ADD</b>(<i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The first addend of the operation.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The second addend of the operation.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If the sum of <i>x</i> and <i>y</i> is greater than <b>BOOST_PP_LIMIT_MAG</b>, the result is saturated to <b>BOOST_PP_LIMIT_MAG</b>.
+ </div>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
+ There is no longer any such restriction.&nbsp;
+ It is more efficient, however, to use <b>BOOST_PP_ADD_D</b> in such a situation.
+ </div>
+ <div>
+ This macro is the most efficient when <i>x</i> is less than or equal to <i>y</i>.&nbsp;
+ However, the efficiency gain is not worth actually comparing the two arguments prior to invocation.&nbsp;
+ In other words, <i>x</i> should be the addend that is <i>most likely</i> to be the largest of the two operands.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ADD_D</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/arithmetic/add.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include <boost/preprocessor/arithmetic/add.hpp>
+
+BOOST_PP_ADD(4, 3) // expands to 7
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/add_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/add_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,90 @@
+<html>
+<head>
+ <title>BOOST_PP_ADD_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ADD_D</b> macro expands to the sum of its second and third arguments.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ADD_D</b>(<i>d</i>, <i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.&nbsp;
+ </dd>
+ <dt>x</dt>
+ <dd>
+ The first addend of the operation.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The second addend of the operation.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If the sum of <i>x</i> and <i>y</i> is greater than <b>BOOST_PP_LIMIT_MAG</b>, the result is saturated to <b>BOOST_PP_LIMIT_MAG</b>.
+ </div>
+ <div>
+ This macro is the most efficient when <i>x</i> is less than or equal to <i>y</i>.&nbsp;
+ However, the efficiency gain is not worth actually comparing the two arguments prior to invocation.&nbsp;
+ In other words, <i>x</i> should be the addend that is <i>most likely</i> to be the largest of the two operands.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ADD</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/arithmetic/add.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/arithmetic/add.hpp&gt;
+#include &lt;boost/preprocessor/arithmetic/dec.hpp&gt;
+#include &lt;boost/preprocessor/control/while.hpp&gt;
+#include &lt;boost/preprocessor/tuple/elem.hpp&gt;
+
+#define PRED(d, data) BOOST_PP_TUPLE_ELEM(2, 0, data)
+
+#define OP(d, data) \
+ ( \
+ BOOST_PP_DEC( \
+ BOOST_PP_TUPLE_ELEM(2, 0, data) \
+ ), \
+ BOOST_PP_ADD_D( \
+ d, \
+ BOOST_PP_TUPLE_ELEM(2, 1, data), \
+ 2 \
+ ) \
+ ) \
+ /**/
+
+// increment 'x' by 2 'n' times
+#define STRIDE(x, n) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_WHILE(PRED, OP, (n, x)))
+
+STRIDE(10, 2) // expands to 14
+STRIDE(51, 6) // expands to 63
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/and.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/and.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,64 @@
+<html>
+<head>
+ <title>BOOST_PP_AND</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_AND</b> macro expands to the logical <i>AND</i> of its operands.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_AND</b>(<i>p</i>, <i>q</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>p</dt>
+ <dd>
+ The left operand of the operation.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>q</dt>
+ <dd>
+ The right operand of the operation.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If both <i>p</i> and <i>q</i> are non-zero, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <div>
+ This macro performs a boolean conversion on each operand before performing the logical <i>AND</i> operation.&nbsp;
+ If that conversion is not necessary, use <b>BOOST_PP_BITAND</b> instead.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_BITAND</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/logical/and.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/logical/and.hpp&gt;
+
+BOOST_PP_AND(4, 3) // expands to 1
+BOOST_PP_AND(5, 0) // expands to 0
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/apply.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/apply.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,64 @@
+<html>
+<head>
+ <title>BOOST_PP_APPLY</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_APPLY</b> macro abstracts the difference between an argument and nothing.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_APPLY</b>(<i>x</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The abstracted argument.&nbsp;
+ This argument must be either <b>BOOST_PP_NIL</b> or a <i>tuple</i> with one element--such as <i>(arg)</i> or <i>((a, b))</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is <b>BOOST_PP_NIL</b>, this macro expands to nothing.&nbsp;
+ If <i>x</i> is a one element <i>tuple</i>, it expands to the contents of that <i>tuple</i>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_NIL</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/facilities/apply.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/facilities/apply.hpp&gt;
+#include &lt;boost/preprocessor/tuple/elem.hpp&gt;
+
+#define CV(i) \
+ BOOST_PP_APPLY( \
+ BOOST_PP_TUPLE_ELEM( \
+ 4, i, \
+ (BOOST_PP_NIL, (const), (volatile), (const volatile)) \
+ ) \
+ ) \
+ /**/
+
+CV(0) // expands to nothing
+CV(1) // expands to const
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_data.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_data.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_DATA</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_DATA</b> macro extracts the <i>tuple</i> data from an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_DATA</b>(<i>array</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>array</dt>
+ <dd>
+ An <i>array</i> to be converted to a <i>tuple</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the data portion of an <i>array</i> which is a <i>tuple</i>.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/data.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/array/data.hpp&gt;
+
+#define ARRAY (3, (x, y, z))
+
+BOOST_PP_ARRAY_DATA(ARRAY) // expands to (x, y, z)
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_elem.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_elem.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,51 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_ELEM</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_ELEM</b> macro extracts an element from a <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_ELEM</b>(<i>i</i>, <i>array</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>i</dt>
+ <dd>
+ The zero-based index into the <i>array</i> of the element to be extracted.&nbsp;
+ </dd>
+ <dt>array</dt>
+ <dd>
+ The <i>array</i> from which an element is to be extracted.&nbsp;
+ This <i>array</i> must contain at least <i>i</i> + <i>1</i> elements.
+ </dd>
+ </dl>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/elem.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/array/elem.hpp&gt;
+
+#define ARRAY (4, (a, b, c, d))
+
+BOOST_PP_ARRAY_ELEM(0, ARRAY) // expands to a
+BOOST_PP_ARRAY_ELEM(3, ARRAY) // expands to d
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_enum.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_enum.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,37 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_ENUM</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;"> The <b>BOOST_PP_ARRAY_ENUM</b> macro converts an <i>array</i> to its comma-separated elements. The comma-separated elements are in the form of <i>variadic data</i>.<br>
+ </div>
+<h4> Usage </h4>
+<div class="code"> <b>BOOST_PP_ARRAY_ENUM</b>(<i>array</i>) </div>
+<h4> Arguments </h4>
+<dl>
+ <dt>array</dt>
+ <dd> The <i>array</i> whose elements are to be converted. </dd>
+</dl>
+<h4> Remarks </h4>
+<div> This macro expands to a comma-separated list of the elements in <i>array</i>.&nbsp;
+For example, <b>BOOST_PP_ARRAY_ENUM</b>((3,(<i>x,</i><i>y,</i><i>z</i>)))
+expands to...
+<div> <i>x</i>, <i>y</i>, <i>z</i> </div>
+</div>
+<h4> Requirements </h4>
+<div> <b>Header:</b> &nbsp;<boost/preprocessor/array/enum.hpp>
+</div>
+<h4> Sample Code </h4>
+<div>
+<pre>#include &lt;boost/preprocessor/array/enum.hpp&gt;<br><br>#define ARRAY (5,(B,O,O,S,T))<br><br>BOOST_PP_ARRAY_ENUM(ARRAY) // expands to B, O, O, S, T<br></pre>
+</div>
+<hr size="1">
+<div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i> </div>
+<div style="margin-left: 0px;">
+<p><small>Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt
+or copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+</div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_insert.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_insert.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,71 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_INSERT</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_INSERT</b> macro inserts an element into an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_INSERT</b>(<i>array</i>, <i>i</i>, <i>elem</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>array</dt>
+ <dd>
+ The <i>array</i> into which an element is to be inserted.
+ </dd>
+ <dt>i</dt>
+ <dd>
+ The zero-based position in <i>array</i> where an element is to be inserted.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_ARRAY_SIZE</b>(<i>array</i>).
+ </dd>
+ <dt>elem</dt>
+ <dd>
+ The element to insert.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro inserts <i>elem</i> before the element at index <i>i</i>.
+ </div>
+ <div>
+ If the operation attempts to create an <i>array</i> that is larger than <b>BOOST_PP_LIMIT_TUPLE</b>,
+ the result is undefined.
+ </div>
+ <div>
+ This macro uses <b>BOOST_PP_WHILE</b> interally.&nbsp;
+ Therefore, to use the <i>d</i> parameter passed from other macros that use <b>BOOST_PP_WHILE</b>,
+ see <b>BOOST_PP_ARRAY_INSERT_D</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_INSERT_D</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/insert.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/array/insert.hpp&gt;
+
+#define ARRAY (3, (a, b, d))
+
+BOOST_PP_ARRAY_INSERT(ARRAY, 2, c) // expands to (4, (a, b, c, d))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_insert_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_insert_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,63 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_INSERT_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_INSERT_D</b> macro inserts an element into an <i>array</i>.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_INSERT_D</b>(<i>d</i>, <i>array</i>, <i>i</i>, <i>elem</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.
+ </dd>
+ <dt>array</dt>
+ <dd>
+ The <i>array</i> into which an element is to be inserted.
+ </dd>
+ <dt>i</dt>
+ <dd>
+ The zero-based position in <i>array</i> where an element is to be inserted.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_ARRAY_SIZE</b>(<i>array</i>).
+ </dd>
+ <dt>elem</dt>
+ <dd>
+ The element to insert.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro inserts <i>elem</i> before the element at index <i>i</i>.
+ </div>
+ <div>
+ If the operation attempts to create an <i>array</i> that is larger than <b>BOOST_PP_LIMIT_TUPLE</b>,
+ the result is undefined.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_INSERT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/insert.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_pop_back.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_pop_back.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,59 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_POP_BACK</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_POP_BACK</b> macro pops an element from the end of an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_POP_BACK</b>(<i>array</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>array</dt>
+ <dd>
+ The <i>array</i> to pop an element from.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro returns <i>array</i> after removing the last element.&nbsp;
+ If <i>array</i> has no elements, the result of applying this macro is undefined.
+ </div>
+ <div>
+ This macro uses <b>BOOST_PP_REPEAT</b> internally.&nbsp;
+ Therefore, to use the <i>z</i> parameter passed from other macros that use
+ <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ARRAY_POP_BACK_Z</b>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_POP_BACK_Z</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/pop_back.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/array/pop_back.hpp&gt;
+
+#define ARRAY (3, (a, b, c))
+
+BOOST_PP_ARRAY_POP_BACK(ARRAY) // expands to (2, (a, b))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_pop_back_z.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_pop_back_z.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,51 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_POP_BACK_Z</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_POP_BACK_Z</b> macro pops an element from the end of an <i>array</i>.&nbsp;
+ It reenters <b>BOOST_PP_REPEAT</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_POP_BACK_Z</b>(<i>z</i>, <i>array</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>z</dt>
+ <dd>
+ The next available <b>BOOST_PP_REPEAT</b> dimension.
+ </dd>
+ <dt>array</dt>
+ <dd>
+ The <i>array</i> to pop an element from.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro returns <i>array</i> after removing the last element.&nbsp;
+ If <i>array</i> has no elements, the result of applying this macro is undefined.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_POP_BACK</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/pop_back.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_pop_front.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_pop_front.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,59 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_POP_FRONT</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_POP_FRONT</b> macro pops an element from the end of an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_POP_FRONT</b>(<i>array</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>array</dt>
+ <dd>
+ The <i>array</i> to pop an element from.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro returns <i>array</i> after removing the first element.&nbsp;
+ If <i>array</i> has no elements, the result of applying this macro is undefined.
+ </div>
+ <div>
+ This macro uses <b>BOOST_PP_REPEAT</b> internally.&nbsp;
+ Therefore, to use the <i>z</i> parameter passed from other macros that use
+ <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ARRAY_POP_FRONT_Z</b>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_POP_FRONT_Z</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/pop_front.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/array/pop_front.hpp&gt;
+
+#define ARRAY (3, (a, b, c))
+
+BOOST_PP_ARRAY_POP_FRONT(ARRAY) // expands to (2, (b, c))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_pop_front_z.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_pop_front_z.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,51 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_POP_FRONT_Z</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_POP_FRONT_Z</b> macro pops an element from the beginning of an <i>array</i>.&nbsp;
+ It reenters <b>BOOST_PP_REPEAT</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_POP_FRONT_Z</b>(<i>z</i>, <i>array</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>z</dt>
+ <dd>
+ The next available <b>BOOST_PP_REPEAT</b> dimension.
+ </dd>
+ <dt>array</dt>
+ <dd>
+ The <i>array</i> to pop an element from.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro returns <i>array</i> after removing the first element.&nbsp;
+ If <i>array</i> has no elements, the result of applying this macro is undefined.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_POP_FRONT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/pop_front.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_push_back.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_push_back.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_PUSH_BACK</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_PUSH_BACK</b> macro appends an element to the end of an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_PUSH_BACK</b>(<i>array</i>, <i>elem</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>array</dt>
+ <dd>
+ The <i>array</i> to append an element to.
+ </dd>
+ <dt>elem</dt>
+ <dd>
+ The element to append.
+ </dd>
+ </dl>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/push_back.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/array/push_back.hpp&gt;
+
+#define ARRAY (3, (a, b, c))
+
+BOOST_PP_ARRAY_PUSH_BACK(ARRAY, d) // expands to (4, (a, b, c, d))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_push_front.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_push_front.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,49 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_PUSH_FRONT</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_PUSH_FRONT</b> macro appends an element to the beginning of an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_PUSH_FRONT</b>(<i>array</i>, <i>elem</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>array</dt>
+ <dd>
+ The <i>array</i> to append an element to.
+ </dd>
+ <dt>elem</dt>
+ <dd>
+ The element to append.
+ </dd>
+ </dl>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/push_front.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/array/push_front.hpp&gt;
+
+#define ARRAY (3, (b, c, d))
+
+BOOST_PP_ARRAY_PUSH_FRONT(ARRAY, a) // expands to (4, (a, b, c, d))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_remove.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_remove.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,60 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_REMOVE</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_REMOVE</b> macro removes an element from an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_REMOVE</b>(<i>array</i>, <i>i</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>array</dt>
+ <dd>
+ The <i>array</i> from which an element is to be removed.
+ </dd>
+ <dt>i</dt>
+ <dd>
+ The zero-based position in <i>array</i> of the element to be removed.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_ARRAY_SIZE</b>(<i>array</i>) - <i>1</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro uses <b>BOOST_PP_WHILE</b> interally.&nbsp;
+ Therefore, to use the <i>d</i> parameter passed from other macros that use <b>BOOST_PP_WHILE</b>,
+ see <b>BOOST_PP_ARRAY_REMOVE_D</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_REMOVE_D</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/remove.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/array/remove.hpp&gt;
+
+#define ARRAY (3, (a, b, d))
+
+BOOST_PP_ARRAY_REMOVE(ARRAY, 2) // expands to (2, (a, b))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_remove_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_remove_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,51 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_REMOVE_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_REMOVE_D</b> macro removes an element from an <i>array</i>.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_REMOVE_D</b>(<i>d</i>, <i>array</i>, <i>i</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.
+ </dd>
+ <dt>array</dt>
+ <dd>
+ The <i>array</i> from which an element is to be removed.
+ </dd>
+ <dt>i</dt>
+ <dd>
+ The zero-based position in <i>array</i> of the element to be removed.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_ARRAY_SIZE</b>(<i>array</i>) - <i>1</i>.
+ </dd>
+ </dl>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_REMOVE</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/remove.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_replace.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_replace.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,64 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_REPLACE</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_REPLACE</b> macro replaces an element in an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_REPLACE</b>(<i>array</i>, <i>i</i>, <i>elem</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>array</dt>
+ <dd>
+ An <i>array</i> to replace an element in.
+ </dd>
+ <dt>i</dt>
+ <dd>
+ The zero-based position in <i>array</i> of the element to be replaced.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_ARRAY_SIZE</b>(<i>array</i>) - <i>1</i>.
+ </dd>
+ <dt>elem</dt>
+ <dd>
+ The replacement element.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro uses <b>BOOST_PP_WHILE</b> interally.&nbsp;
+ Therefore, to use the <i>d</i> parameter passed from other macros that use <b>BOOST_PP_WHILE</b>,
+ see <b>BOOST_PP_ARRAY_REPLACE_D</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_REPLACE_D</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/replace.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/array/replace.hpp&gt;
+
+#define ARRAY (3, (a, x, c))
+
+BOOST_PP_ARRAY_REPLACE(ARRAY, 1, b) // expands to (3, (a, b, c))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_replace_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_replace_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,55 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_REPLACE_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_REPLACE_D</b> macro replaces an element in an <i>array</i>.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_REPLACE_D</b>(<i>d</i>, <i>array</i>, <i>i</i>, <i>elem</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.
+ </dd>
+ <dt>array</dt>
+ <dd>
+ An <i>array</i> to replace an element in.
+ </dd>
+ <dt>i</dt>
+ <dd>
+ The zero-based position in <i>array</i> of the element to be replaced.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_ARRAY_SIZE</b>(<i>array</i>) - <i>1</i>.
+ </dd>
+ <dt>elem</dt>
+ <dd>
+ The replacement element.
+ </dd>
+ </dl>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ARRAY_REPLACE</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/replace.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_reverse.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_reverse.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,45 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_REVERSE</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_REVERSE</b> macro reverses the elements in an <i>array</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_REVERSE</b>(<i>array</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>array</dt>
+ <dd>
+ The <i>array</i> whose elements are to be reversed.
+ </dd>
+ </dl>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/reverse.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/array/reverse.hpp&gt;
+
+#define ARRAY (3, (a, b, c))
+
+BOOST_PP_ARRAY_REVERSE(ARRAY) // expands to (3, (c, b, a))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_size.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_size.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,45 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_SIZE</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ARRAY_SIZE</b> macro expands to the size of the <i>array</i> passed to it.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ARRAY_SIZE</b>(<i>array</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>array</dt>
+ <dd>
+ An <i>array</i> whose size is to be extracted.
+ </dd>
+ </dl>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/array/size.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/array/size.hpp&gt;
+
+#define ARRAY (3, (x, y, z))
+
+BOOST_PP_ARRAY_SIZE(ARRAY) // expands to 3
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_to_list.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_to_list.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,33 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_TO_LIST</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+<div style="margin-left: 0px;"> The <b>BOOST_PP_ARRAY_TO_LIST</b>
+macro converts an <i>array</i> to a <i>list</i>. </div>
+<h4>Usage</h4>
+<div class="code"> <b>BOOST_PP_ARRAY_TO_LIST</b>(<i>array</i>)
+</div>
+<h4>Arguments</h4>
+<dl><dt>array</dt>
+ <dd> The <i>array</i> to be converted. </dd>
+</dl>
+ <ul>
+</ul>
+<h4>Requirements</h4>
+<div> <b>Header:</b> &nbsp;<boost/preprocessor/array/to_list.hpp>
+</div>
+<h4>Sample Code</h4>
+<div>
+<pre>#include &lt;boost/preprocessor/array/to_list.hpp&gt;<br><br>BOOST_PP_ARRAY_TO_LIST((3, (x, y, z)))<br> // expands to (x, (y, (z, BOOST_PP_NIL)))<br></pre>
+</div>
+<hr size="1">
+<div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i> </div>
+<div style="margin-left: 0px;">
+<p><small>Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt
+or copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+</div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_to_seq.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_to_seq.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_TO_SEQ</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+<div style="margin-left: 0px;"> The <b>BOOST_PP_ARRAY_TO_SEQ</b> macro
+converts an <i>array</i> to a <i>seq</i>. </div>
+<h4> Usage </h4>
+<div class="code"> <b>BOOST_PP_ARRAY_TO_SEQ</b>(<i>array</i>)
+</div>
+<h4> Arguments </h4>
+<dl><dt>array</dt>
+ <dd> The <i>array</i> to be converted. </dd>
+</dl>
+<h4> Requirements </h4>
+<div> <b>Header:</b> &nbsp;<boost/preprocessor/array/to_seq.hpp>
+</div>
+<h4> Sample Code </h4>
+<div>
+<pre>#include &lt;boost/preprocessor/array/to_seq.hpp&gt;<br><br>BOOST_PP_ARRAY_TO_SEQ((3, (a, b, c))) // expands to (a)(b)(c)<br></pre>
+</div>
+<hr size="1">
+<div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i> </div>
+<div style="margin-left: 0px;">
+<p><small>Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt
+or copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+</div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/array_to_tuple.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/array_to_tuple.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,31 @@
+<html>
+<head>
+ <title>BOOST_PP_ARRAY_TO_TUPLE</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+<div style="margin-left: 0px;"> The <b>BOOST_PP_ARRAY_TO_TUPLE</b> macro
+converts an <i>array</i> to an <i>tuple</i>. </div>
+<h4> Usage </h4>
+<div class="code"> <b>BOOST_PP_ARRAY_TO_TUPLE</b>(<i>array</i>) </div>
+<h4> Arguments </h4>
+<dl>
+ <dt>array</dt>
+ <dd> The <i>array</i> to be converted. </dd>
+</dl>
+<h4> Requirements </h4>
+<div> <b>Header:</b> &nbsp;<boost/preprocessor/array/to_tuple.hpp>
+</div>
+<h4> Sample Code </h4>
+<div>
+<pre>#include &lt;boost/preprocessor/array/to_tuple.hpp&gt;<br><br>#define ARRAY (3,(a, b, c))<br><br>BOOST_PP_ARRAY_TO_TUPLE(ARRAY) // expands to (a, b, c)<br></pre>
+</div>
+<hr size="1">
+<div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i> </div>
+<div style="margin-left: 0px;">
+<p><small>Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt
+or copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+</div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/assert.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/assert.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,114 @@
+<html>
+<head>
+ <title>BOOST_PP_ASSERT</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ASSERT</b> macro conditionally causes a preprocessing error.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ASSERT</b>(<i>cond</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>cond</dt>
+ <dd>
+ A condition that determines whether an assertion occurs.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>cond</i> expands to <i>0</i>, this macro causes a preprocessing error.&nbsp;
+ Otherwise, it expands to nothing.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ASSERT_MSG</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/debug/assert.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/cat.hpp&gt;
+#include &lt;boost/preprocessor/debug/assert.hpp&gt;
+#include &lt;boost/preprocessor/logical/bitnor.hpp&gt;
+#include &lt;boost/preprocessor/logical/compl.hpp&gt;
+
+// The is BOOST_PP_IS_NULLARY macro is not part of
+// the public interface of the library because it
+// doesn't work on Borland preprocessors. It is
+// only used here to illustrate assertions. In
+// effect, it detects whether an argument is empty
+// parenthesis or some text.
+
+#include &lt;boost/preprocessor/detail/is_nullary.hpp&gt;
+
+#define IS_EDISON_DESIGN_GROUP() \
+ BOOST_PP_COMPL( \
+ BOOST_PP_IS_NULLARY( \
+ BOOST_PP_CAT(IS_EDG_CHECK, __EDG_VERSION) \
+ ) \
+ ) \
+ /**/
+#define IS_EDG_CHECK__EDG_VERSION ()
+
+#define IS_METROWERKS() \
+ BOOST_PP_COMPL( \
+ BOOST_PP_IS_NULLARY( \
+ BOOST_PP_CAT(IS_MWERKS_CHECK, __MWERKS__) \
+ ) \
+ ) \
+ /**/
+#define IS_MWERKS_CHECK__MWERKS__ ()
+
+#define IS_MICROSOFT() \
+ BOOST_PP_BITNOR( \
+ IS_MICROSOFT_ROOT(), \
+ IS_EDISON_DESIGN_GROUP() \
+ ) \
+ /**/
+#define IS_MICROSOFT_ROOT() \
+ BOOST_PP_IS_NULLARY( \
+ BOOST_PP_CAT(IS_MSVC_CHECK, _MSC_VER) \
+ ) \
+ /**/
+#define IS_MSVC_CHECK_MS_VER ()
+
+// this macro doesn't work on EDG...
+// (this is just an example)
+
+#define MACRO(n) \
+ BOOST_PP_CAT( \
+ MACRO_, \
+ IS_EDISON_DESIGN_GROUP() \
+ )(n) \
+ /**/
+
+#define MACRO_1(n) \
+ BOOST_PP_ASSERT(0) \
+ "Edison Design Group is not supported" \
+ /**/
+
+#define MACRO_0(n) normal mode: n
+
+MACRO(10)
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/assert_msg.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/assert_msg.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,66 @@
+<html>
+<head>
+ <title>BOOST_PP_ASSERT_MSG</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ASSERT_MSG</b> macro conditionally inserts debugging text.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ASSERT_MSG</b>(<i>cond</i>, <i>msg</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>cond</dt>
+ <dd>
+ A condition that determines whether an assertion occurs.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>msg</dt>
+ <dd>
+ A message to display if <i>cond</i> evaluates to <i>0</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>cond</i> expands to <i>0</i>, this macro expands to <i>msg</i>.&nbsp;
+ Otherwise, it expands to nothing.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ASSERT_MSG</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/debug/assert.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/comparison/equal.hpp&gt;
+#include &lt;boost/preprocessor/debug/assert.hpp&gt;
+
+// lines are supposed to be counted
+// in translation phase 1
+
+#line 9
+BOOST_PP_ASSERT_MSG( \
+ BOOST_PP_EQUAL(__LINE__, 9), \
+ "incorrect line numbering detected" \
+)
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/assign_slot.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/assign_slot.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,61 @@
+<html>
+<head>
+ <title>BOOST_PP_ASSIGN_SLOT</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ASSIGN_SLOT</b> macro fully evaluates a numeric macro or expression.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>BOOST_PP_ASSIGN_SLOT</b>(<i>i</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>i</dt>
+ <dd>
+ The <i>slot</i> index that is to be assigned.&nbsp;
+ This value must be in the range of <i>1</i> to <b>BOOST_PP_LIMIT_SLOT_COUNT</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ Prior to use, the <i>named external argument</i> <b>BOOST_PP_VALUE</b> must be defined.&nbsp;
+ Also, it must expand to a numeric value that is in the range of <i>0</i> to <i>2</i>^<i>32</i> - <i>1</i>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIMIT_SLOT_COUNT</li>
+ <li>BOOST_PP_VALUE</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/slot/slot.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/slot/slot.hpp&gt;
+
+#define X() 4
+
+#define BOOST_PP_VALUE 1 + 2 + 3 + X()
+#include BOOST_PP_ASSIGN_SLOT(1)
+
+#undef X
+
+BOOST_PP_SLOT(1) // expands to 10
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/bitand.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/bitand.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,65 @@
+<html>
+<head>
+ <title>BOOST_PP_BITAND</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_BITAND</b> macro expands to the bitwise <i>AND</i> of its operands.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_BITAND</b>(<i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The left operand of the operation.&nbsp;
+ This value must expand to <i>0</i> or <i>1</i>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the operation.&nbsp;
+ This value must expand to <i>0</i> or <i>1</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If both <i>x</i> and <i>y</i> are <i>1</i>, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <div>
+ This macro <i>does not</i> perform a boolean conversion on either operand before performing the bitwise <i>AND</i> operation.&nbsp;
+ If that conversion is necessary, use <b>BOOST_PP_AND</b> instead.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_AND</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/logical/bitand.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/logical/bitand.hpp&gt;
+
+BOOST_PP_BITAND(0, 0) // expands to 0
+BOOST_PP_BITAND(0, 1) // expands to 0
+BOOST_PP_BITAND(1, 0) // expands to 0
+BOOST_PP_BITAND(1, 1) // expands to 1
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/bitnor.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/bitnor.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,65 @@
+<html>
+<head>
+ <title>BOOST_PP_BITNOR</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_BITNOR</b> macro expands to the bitwise <i>NOR</i> of its operands.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_BITNOR</b>(<i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The left operand of the operation.&nbsp;
+ This value must expand to <i>0</i> or <i>1</i>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the operation.&nbsp;
+ This value must expand to <i>0</i> or <i>1</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If neither <i>x</i> nor <i>y</i> is <i>1</i>, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <div>
+ This macro <i>does not</i> perform a boolean conversion on either operand before performing the bitwise <i>NOR</i> operation.&nbsp;
+ If that conversion is necessary, use <b>BOOST_PP_NOR</b> instead.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_NOR</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/logical/bitnor.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/logical/bitnor.hpp&gt;
+
+BOOST_PP_BITNOR(0, 0) // expands to 1
+BOOST_PP_BITNOR(0, 1) // expands to 0
+BOOST_PP_BITNOR(1, 0) // expands to 0
+BOOST_PP_BITNOR(1, 1) // expands to 0
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/bitor.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/bitor.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,65 @@
+<html>
+<head>
+ <title>BOOST_PP_BITOR</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_BITOR</b> macro expands to the bitwise <i>OR</i> of its operands.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_BITOR</b>(<i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The left operand of the operation.&nbsp;
+ This value must expand to <i>0</i> or <i>1</i>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the operation.&nbsp;
+ This value must expand to <i>0</i> or <i>1</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If either <i>x</i> or <i>y</i> is <i>1</i>, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <div>
+ This macro <i>does not</i> perform a boolean conversion on either operand before performing the bitwise <i>OR</i> operation.&nbsp;
+ If that conversion is necessary, use <b>BOOST_PP_OR</b> instead.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_OR</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/logical/bitor.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/logical/bitor.hpp&gt;
+
+BOOST_PP_BITOR(0, 0) // expands to 0
+BOOST_PP_BITOR(0, 1) // expands to 1
+BOOST_PP_BITOR(1, 0) // expands to 1
+BOOST_PP_BITOR(1, 1) // expands to 1
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/bitxor.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/bitxor.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,66 @@
+<html>
+<head>
+ <title>BOOST_PP_BITXOR</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_BITXOR</b> macro expands to the bitwise <i>XOR</i> of its operands.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_BITXOR</b>(<i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The left operand of the operation.&nbsp;
+ This value must expand to <i>0</i> or <i>1</i>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the operation.&nbsp;
+ This value must expand to <i>0</i> or <i>1</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If either <i>x</i> or <i>y</i> is <i>1</i> exclusively, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <div>
+ This macro <i>does not</i> perform a boolean conversion on either operand before performing the bitwise <i>OR</i> operation.&nbsp;
+ If that conversion is necessary, use <b>BOOST_PP_XOR</b> instead.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_XOR</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/logical/bitxor.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/logical/bitxor.hpp&gt;
+
+BOOST_PP_BITXOR(0, 0) // expands to 0
+BOOST_PP_BITXOR(0, 1) // expands to 1
+BOOST_PP_BITXOR(1, 0) // expands to 1
+BOOST_PP_BITXOR(1, 1) // expands to 0
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/bool.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/bool.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,54 @@
+<html>
+<head>
+ <title>BOOST_PP_BOOL</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_BOOL</b> macro performs a boolean conversion on its operand.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_BOOL</b>(<i>x</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The value to be converted.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is <i>0</i>, this macro expands to <i>0</i>.&nbsp;
+ Otherwise it expands to <i>1</i>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/logical/bool.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/logical/bool.hpp&gt;
+
+BOOST_PP_BOOL(6) // expands to 1
+BOOST_PP_BOOL(0) // expands to 0
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/cat.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/cat.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,57 @@
+<html>
+<head>
+ <title>BOOST_PP_CAT</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_CAT</b> macro concatenates its arguments after they have been expanded.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_CAT</b>(<i>a</i>, <i>b</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a</dt>
+ <dd>
+ The left operand of the concatenation.
+ </dd>
+ <dt>b</dt>
+ <dd>
+ The right operand of the concatenation.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ The preprocessor token-pasting operator (<b>##</b>) prevents arguments from expanding.&nbsp;
+ This macro allows its arguments to expand before concatenation.
+ </div>
+ <div>
+ Concatenation must not result in an invocation of a macro that uses <b>BOOST_PP_CAT</b>.&nbsp;
+ If that happens, <b>BOOST_PP_CAT</b> will not expand the second time.
+ </div>
+<!-- <h4>See Also</h4> -->
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/cat.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/cat.hpp&gt;
+
+BOOST_PP_CAT(x, BOOST_PP_CAT(y, z)) // expands to xyz
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/comma.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/comma.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,43 @@
+<html>
+<head>
+ <title>BOOST_PP_COMMA</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_COMMA</b> macro expands to a comma.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_COMMA</b>()
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ The preprocessor interprets commas as argument separators in macro invocations.&nbsp;
+ Because of this, commas require special handling.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/punctuation/comma.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/control/if.hpp&gt;
+#include &lt;boost/preprocessor/facilities/empty.hpp&gt;
+#include &lt;boost/preprocessor/punctuation/comma.hpp&gt;
+
+BOOST_PP_IF(1, BOOST_PP_COMMA, BOOST_PP_EMPTY)() // expands to ,
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/comma_if.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/comma_if.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,60 @@
+<html>
+<head>
+ <title>BOOST_PP_COMMA_IF</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_COMMA_IF</b> macro conditionally expands to a comma.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_COMMA_IF</b>(<i>cond</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>cond</dt>
+ <dd>
+ The condition that determines if a the macro expands to a comma or nothing.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>cond</i> expands to <i>0</i>, this macro expands to nothing.&nbsp;
+ Otherwise, it expands to a comma.
+ </div>
+ <div>
+ The preprocessor interprets commas as argument separators in macro invocations.&nbsp;
+ Because of this, commas require special handling.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/punctuation/comma_if.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/punctuation/comma_if.hpp&gt;
+#include &lt;boost/preprocessor/repetition/repeat.hpp&gt;
+
+#define MACRO(z, n, text) BOOST_PP_COMMA_IF(n) text
+
+BOOST_PP_REPEAT(3, MACRO, class) // expands to class, class, class
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/compl.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/compl.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+ <title>BOOST_PP_COMPL</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_COMPL</b> macro performs a bitwise inversion (bitwise <i>NOT</i> or one's complement) on its operand.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_COMPL</b>(<i>x</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The value to be converted.&nbsp;
+ This value must expand to <i>0</i> or <i>1</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is <i>0</i>, this macro expands to <i>1</i>.&nbsp;
+ If <i>x</i> is <i>1</i>, this it expands to <i>0</i>.
+ </div>
+ <div>
+ This macro <i>does not</i> perform a boolean conversion on its operand before performing the inversion <i>OR</i> operation.&nbsp;
+ If that conversion is necessary, use <b>BOOST_PP_NOT</b> instead.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_NOT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/logical/compl.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/logical/compl.hpp&gt;
+
+BOOST_PP_COMPL(1) // expands to 0
+BOOST_PP_COMPL(0) // expands to 1
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/config_extended_line_info.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/config_extended_line_info.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,54 @@
+<html>
+ <head>
+ <title>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</b> is a user-defined macro that
+ determines whether <b>BOOST_PP_LINE</b> outputs extended <i>file-iteration</i> state
+ information.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ #define <b>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</b> <i>n</i>
+ </div>
+ <h4>
+ Arguments
+ </h4>
+ <dl>
+ <dt>n</dt>
+ <dd>
+ The value that determines if <b>BOOST_PP_LINE</b> outputs extended <i>file-iteration</i>
+ information.&nbsp; This value must be <i>0</i> or <i>1</i>.
+ </dd>
+ </dl>
+ <h4>
+ Remarks
+ </h4>
+ <div>
+ If <i>n</i> is <i>1</i>, <b>BOOST_PP_LINE</b> will output extended data.&nbsp;
+ By default, this macro is set to <i>0</i>.
+ </div>
+ <h4>
+ See Also
+ </h4>
+ <ul>
+ <li>
+ BOOST_PP_LINE</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/counter.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/counter.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+ <title>BOOST_PP_COUNTER</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_COUNTER</b> macro expands to the current counter value.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_COUNTER</b>
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to an integer literal.
+ Its initial value is <code>0</code>.
+ Between usages of <b>BOOST_PP_UPDATE_COUNTER</b>, the value of <b>BOOST_PP_COUNTER</b> is constant.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_UPDATE_COUNTER</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/slot/counter.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/slot/counter.hpp&gt;
+
+BOOST_PP_COUNTER // 0
+
+#include BOOST_PP_UPDATE_COUNTER()
+
+BOOST_PP_COUNTER // 1
+
+#include BOOST_PP_UPDATE_COUNTER()
+
+BOOST_PP_COUNTER // 2
+
+#include BOOST_PP_UPDATE_COUNTER()
+
+BOOST_PP_COUNTER // 3
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/dec.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/dec.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,54 @@
+<html>
+<head>
+ <title>BOOST_PP_DEC</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_DEC</b> macro expands to one less than its argument.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_DEC</b>(<i>x</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The value to be decremented.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is <i>0</i>, the result is saturated to <i>0</i>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_INC</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/arithmetic/dec.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/arithmetic/dec.hpp&gt;
+
+BOOST_PP_DEC(BOOST_PP_DEC(6)) // expands to 4
+BOOST_PP_DEC(0) // expands to 0
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/deduce_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/deduce_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,82 @@
+<html>
+<head>
+ <title>BOOST_PP_DEDUCE_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_DEDUCE_D</b> macro manually deduces the state of the <b>BOOST_PP_WHILE</b> construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_DEDUCE_D</b>()
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro is intended to avoid the use of <i>automatic-recursion</i> at deep expansion depths.&nbsp;
+ <i>Automatic-recursion</i> at such depths can be inefficient on some preprocessors.&nbsp;
+ It is not intended to be used directly with the invocation of macros with a <b>_D</b> suffix such as:
+ <div>
+ <b>BOOST_PP_ADD_D</b>(<b>BOOST_PP_DEDUCE_D</b>(), <i>x</i>, <i>y</i>)
+ </div>
+ If it is used in this context, the <b>_D</b> macro will fail.&nbsp;
+ The <b>_D</b> macros directly concatenate to the <i>d</i> parameter that is passed to them,
+ which would prevent <b>BOOST_PP_DEDUCE_D</b>() from expanding.&nbsp;
+ Furthermore, it is pointless to use this macro in a situation such as this
+ because it would already be too late to gain any efficiency.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_WHILE</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/control/deduce_d.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/arithmetic/add.hpp&gt;
+#include &lt;boost/preprocessor/arithmetic/inc.hpp&gt;
+#include &lt;boost/preprocessor/arithmetic/sub.hpp&gt;
+#include &lt;boost/preprocessor/control/deduce_d.hpp&gt;
+#include &lt;boost/preprocessor/punctuation/comma_if.hpp&gt;
+#include &lt;boost/preprocessor/repetition/repeat.hpp&gt;
+#include &lt;boost/preprocessor/tuple/elem.hpp&gt;
+
+#define RANGE(first, last) \
+ BOOST_PP_REPEAT( \
+ BOOST_PP_INC( \
+ BOOST_PP_SUB(last, first) \
+ ), \
+ RANGE_M, \
+ (first, BOOST_PP_DEDUCE_D()) \
+ ) \
+ /**/
+
+#define RANGE_M(z, n, data) \
+ RANGE_M_2( \
+ n, \
+ BOOST_PP_TUPLE_ELEM(2, 0, data), \
+ BOOST_PP_TUPLE_ELEM(2, 1, data) \
+ ) \
+ /**/
+
+#define RANGE_M_2(n, first, d) \
+ BOOST_PP_COMMA_IF(n) BOOST_PP_ADD_D(d, n, first) \
+ /**/
+
+RANGE(5, 10) // expands to 5, 6, 7, 8, 9, 10
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/deduce_r.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/deduce_r.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,48 @@
+<html>
+<head>
+ <title>BOOST_PP_DEDUCE_R</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_DEDUCE_R</b> macro manually deduces the state of the <b>BOOST_PP_FOR</b> construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_DEDUCE_R</b>()
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro is intended to avoid the use of <i>automatic-recursion</i> at deep expansion depths.&nbsp;
+ <i>Automatic-recursion</i> at such depths can be inefficient on some preprocessors.&nbsp;
+ It is not intended to be used directly with the invocation of macros with a <b>_R</b> suffix such as:
+ <div>
+ <b>BOOST_PP_LIST_ENUM_R</b>(<b>BOOST_PP_DEDUCE_R</b>(), (a, (b, (c, <b>BOOST_PP_NIL</b>))))
+ </div>
+ If it is used in this context, the <b>_R</b> macro will fail.&nbsp;
+ The <b>_R</b> macros directly concatenate to the <i>r</i> parameter that is passed to them,
+ which would prevent <b>BOOST_PP_DEDUCE_R</b>() from expanding.&nbsp;
+ Furthermore, it is pointless to use this macro in a situation such as this
+ because it would already be too late to gain any efficiency.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_FOR</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/deduce_r.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/deduce_z.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/deduce_z.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,48 @@
+<html>
+<head>
+ <title>BOOST_PP_DEDUCE_Z</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_DEDUCE_Z</b> macro manually deduces the state of the <b>BOOST_PP_REPEAT</b> construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_DEDUCE_Z</b>()
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro is intended to avoid the use of <i>automatic-recursion</i> at deep expansion depths.&nbsp;
+ <i>Automatic-recursion</i> at such depths can be inefficient on some preprocessors.&nbsp;
+ It is not intended to be used directly with the invocation of macros with a <b>_Z</b> suffix such as:
+ <div>
+ <b>BOOST_PP_ENUM_PARAMS_Z</b>(<b>BOOST_PP_DEDUCE_Z</b>(), (a, (b, (c, <b>BOOST_PP_NIL</b>))))
+ </div>
+ If it is used in this context, the <b>_Z</b> macro will fail.&nbsp;
+ The <b>_Z</b> macros directly concatenate to the <i>r</i> parameter that is passed to them,
+ which would prevent <b>BOOST_PP_DEDUCE_Z</b>() from expanding.&nbsp;
+ Furthermore, it is pointless to use this macro in a situation such as this
+ because it would already be too late to gain any efficiency.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/deduce_z.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/div.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/div.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,63 @@
+<html>
+<head>
+ <title>BOOST_PP_DIV</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_DIV</b> macro expands to the quotient of its arguments.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_DIV</b>(<i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The dividend (numerator) of the operation.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The divisor (denominator) of the operation.&nbsp;
+ Valid values range from <i>1</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
+ There is no longer any such restriction.&nbsp;
+ It is more efficient, however, to use <b>BOOST_PP_DIV_D</b> in such a situation.
+ </div>
+ <div>
+ If <i>y</i> is <i>0</i>, the result is undefined.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_DIV_D</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/arithmetic/div.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/arithmetic/div.hpp&gt;
+
+BOOST_PP_DIV(11, 5) // expands to 2
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/div_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/div_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,85 @@
+<html>
+<head>
+ <title>BOOST_PP_DIV_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_DIV_D</b> macro expands to the quotient of its second and third arguments.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_DIV_D</b>(<i>d</i>, <i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.&nbsp;
+ </dd>
+ <dt>x</dt>
+ <dd>
+ The dividend (numerator) of the operation.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The divisor (denominator) of the operation.&nbsp;
+ Valid values range from <i>1</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>y</i> is <i>0</i>, the result is undefined.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_DIV</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/arithmetic/div.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/arithmetic/dec.hpp&gt;
+#include &lt;boost/preprocessor/arithmetic/div.hpp&gt;
+#include &lt;boost/preprocessor/control/while.hpp&gt;
+#include &lt;boost/preprocessor/tuple/elem.hpp&gt;
+
+#define PRED(d, data) BOOST_PP_TUPLE_ELEM(2, 0, data)
+
+#define OP(d, data) \
+ ( \
+ BOOST_PP_DEC( \
+ BOOST_PP_TUPLE_ELEM(2, 0, data) \
+ ), \
+ BOOST_PP_DIV_D( \
+ d, \
+ BOOST_PP_TUPLE_ELEM(2, 1, data), \
+ 2 \
+ ) \
+ ) \
+ /**/
+
+// halve 'x' 'n' times
+#define HALVE(x, n) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_WHILE(PRED, OP, (n, x)))
+
+HALVE(8, 2) // expands to 2
+HALVE(16, 1) // expands to 8
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/empty.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/empty.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,47 @@
+<html>
+<head>
+ <title>BOOST_PP_EMPTY</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_EMPTY</b> macro is a nullary utility macro that expands to nothing.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_EMPTY</b>()
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro is helps avoid inefficient macro-expansion.&nbsp;
+ It is primarily useful as arguments to <b>BOOST_PP_IF</b> or <b>BOOST_PP_IIF</b>.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/facilities/empty.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/control/if.hpp&gt;
+#include &lt;boost/preprocessor/facilities/empty.hpp&gt;
+
+#define X() result
+#define MACRO(c) BOOST_PP_IF(c, X, BOOST_PP_EMPTY)()
+
+MACRO(0) // expands to nothing
+MACRO(1) // expands to result
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,80 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM</b> macro generates a comma-separated list.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM</b>(<i>count</i>, <i>macro</i>, <i>data</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>count</dt>
+ <dd>
+ The number of repetitious calls to <i>macro</i>.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>macro</dt>
+ <dd>
+ A ternary operation of the form <i>macro</i>(<i>z</i>, <i>n</i>, <i>data</i>).&nbsp;
+ This macro is expanded by <b>BOOST_PP_ENUM</b> with the next available repetition depth,
+ the current repetition number, and the auxiliary <i>data</i> argument.&nbsp;
+ </dd>
+ <dt>data</dt>
+ <dd>
+ Auxiliary data passed to <i>macro</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ <i>macro</i>(<i>z</i>, <i>0</i>, <i>data</i>), <i>macro</i>(<i>z</i>, <i>1</i>, <i>data</i>), ... <i>macro</i>(<i>z</i>, <i>count</i> - <i>1</i>, <i>data</i>)
+ </div>
+ </div>
+ <div>
+ The <i>z</i> value that is passed to <i>macro</i> represents the next available repetition dimension.&nbsp;
+ Other macros that have <b>_Z</b> suffix variants internally use <b>BOOST_PP_REPEAT</b>--for example, <b>BOOST_PP_ENUM_PARAMS</b> and <b>BOOST_PP_ENUM_PARAMS_Z</b>.&nbsp;
+ Using these <b>_Z</b> versions is not strictly necessary, but passing the <i>z</i> value (that is passed to <i>macro</i>) to these macros allows them to reenter <b>BOOST_PP_REPEAT</b> with maximum efficiency.
+ </div>
+ <div>
+ To directly use this <i>z</i> value, rather than simply passing it to another macro, see <b>BOOST_PP_ENUM_<i>z</i></b>.
+ </div>
+ <div>
+ Previously, this macro could not be used recursively inside <b>BOOST_PP_REPEAT</b>.&nbsp;
+ This limitation no longer exists, as the library can automatically detect the next available repetition depth.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_z</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/repetition/enum.hpp&gt;
+
+#define TEXT(z, n, text) text
+
+BOOST_PP_ENUM(4, TEXT, class) // expands to class, class, class, class
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_binary_params.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_binary_params.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,76 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_BINARY_PARAMS</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_BINARY_PARAMS</b> macro generates a comma-separated list of binary parameters.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_BINARY_PARAMS</b>(<i>count</i>, <i>p1</i>, <i>p2</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>p1</dt>
+ <dd>
+ The text of the first part of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ <dt>p2</dt>
+ <dd>
+ The text of the first part of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ <i>p1</i> ## <i>0</i> <i>p2</i> ## <i>0</i>, <i>p1</i> ## <i>1</i> <i>p2</i> ## <i>1</i>, ... <i>p1</i> ## <i>count</i> - <i>1</i> <i>p2</i> ## <i>count</i> - <i>1</i>
+ </div>
+ </div>
+ <div>
+ To use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ENUM_BINARY_PARAMS_Z</b>.
+ </div>
+ <div>
+ This macro is a replacement for both <b>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</b> and <b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_BINARY_PARAMS_Z</li>
+ <li>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</li>
+ <li>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_binary_params.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/repetition/enum_binary_params.hpp&gt;
+
+BOOST_PP_ENUM_BINARY_PARAMS(3, T, p) // expands to T0 p0, T1 p1, T2 p2
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_binary_params_z.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_binary_params_z.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,93 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_BINARY_PARAMS_Z</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_BINARY_PARAMS_Z</b> macro generates a comma-separated list of binary parameters.&nbsp;
+ It reenters <b>BOOST_PP_REPEAT</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_BINARY_PARAMS_Z</b>(<i>z</i>, <i>count</i>, <i>p1</i>, <i>p2</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>z</dt>
+ <dd>
+ The next available <b>BOOST_PP_REPEAT</b> dimension.
+ </dd>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>p1</dt>
+ <dd>
+ The text of the first part of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ <dt>p2</dt>
+ <dd>
+ The text of the first part of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ <i>p1</i> ## <i>0</i> <i>p2</i> ## <i>0</i>, <i>p1</i> ## <i>1</i> <i>p2</i> ## <i>1</i>, ... <i>p1</i> ## <i>count</i> - <i>1</i> <i>p2</i> ## <i>count</i> - <i>1</i>
+ </div>
+ </div>
+ <div>
+ This macro is a replacement for both <b>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</b> and <b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_BINARY_PARAMS</li>
+ <li>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</li>
+ <li>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_binary_params.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/arithmetic/inc.hpp&gt;
+#include &lt;boost/preprocessor/repetition/enum_binary_params.hpp&gt;
+#include &lt;boost/preprocessor/repetition/enum_params.hpp&gt;
+
+#define FUNCTION(z, n, _) \
+ template&lt;BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(n), class T)&gt; \
+ void f(BOOST_PP_ENUM_BINARY_PARAMS_Z(z, BOOST_PP_INC(n), T, p)) { \
+ /* ... */ \
+ } \
+ /**/
+
+BOOST_PP_REPEAT(2, FUNCTION, nil)
+/*
+ expands to...
+
+ template&lt;class T0&gt; void f(T0 p0) { }
+ template&lt;class T0, class T1&gt; void f(T0 p0, T1 p1) { }
+*/
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_params.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_params.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,69 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_PARAMS</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_PARAMS</b> macro generates a comma-separated list of parameters.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_PARAMS</b>(<i>count</i>, <i>param</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>param</dt>
+ <dd>
+ The text of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ <i>param</i> ## <i>0</i>, <i>param</i> ## <i>1</i>, ... <i>param</i> ## <i>count</i> - <i>1</i>
+ </div>
+ </div>
+ <div>
+ To use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ENUM_PARAMS_Z</b>.
+ </div>
+ <div>
+ Previously, this macro could not be used recursively inside <b>BOOST_PP_REPEAT</b>.&nbsp;
+ This limitation no longer exists, as the library can automatically detect the next available repetition depth.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_PARAMS_Z</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_params.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/repetition/enum_params.hpp&gt;
+
+BOOST_PP_ENUM_PARAMS(3, class T) // expands to class T0, class T1, class T2
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_params_with_a_default.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_params_with_a_default.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,83 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</b> macro generates a comma-separated list of parameters with a default argument.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</b>(<i>count</i>, <i>param</i>, <i>def</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>param</dt>
+ <dd>
+ The text of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ <dt>def</dt>
+ <dd>
+ The default value that trails each parameter.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ <i>param</i> ## <i>0</i> = <i>def</i>, <i>param</i> ## <i>1</i> = <i>def</i>, ... <i>param</i> ## <i>count</i> - <i>1</i> = <i>def</i>
+ </div>
+ </div>
+ <div>
+ Previously, this macro could not be used recursively inside <b>BOOST_PP_REPEAT</b>.&nbsp;
+ This limitation no longer exists, as the library can automatically detect the next available repetition depth.
+ </div>
+ <div>
+ This macro is deprecated.&nbsp;
+ It only exists for backward compatibility.&nbsp;
+ Use <b>BOOST_PP_ENUM_BINARY_PARAMS</b> with <b>BOOST_PP_INTERCEPT</b> instead:
+ <div>
+ <b>BOOST_PP_ENUM_BINARY_PARAMS</b>(<i>count</i>, <i>param</i>, = <i>def</i> <b>BOOST_PP_INTERCEPT</b>)
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_BINARY_PARAMS</li>
+ <li>BOOST_PP_INTERCEPT</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_params_with_a_default.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/repetition/enum_params_with_a_default.hpp&gt;
+
+BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(3, class T, int)
+ // expands to T0 = int, T1 = int, T2 = int
+
+BOOST_PP_ENUM_BINARY_PARAMS(3, class T, = int BOOST_PP_INTERCEPT)
+ // expands to T0 = int, T1 = int, T2 = int
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_params_with_defaults.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_params_with_defaults.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,84 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</b> macro generates a comma-separated list of parameters with default arguments.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</b>(<i>count</i>, <i>param</i>, <i>def</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>param</dt>
+ <dd>
+ The text of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ <dt>def</dt>
+ <dd>
+ The default value that trails each parameter.
+ <b>BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate default arguments.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ <i>param</i> ## <i>0</i> = <i>def</i> ## <i>0</i>, <i>param</i> ## <i>1</i> = <i>def</i> ## <i>1</i>, ... <i>param</i> ## <i>count</i> - <i>1</i> = <i>def</i> ## <i>count</i> - <i>1</i>
+ </div>
+ </div>
+ <div>
+ Previously, this macro could not be used recursively inside <b>BOOST_PP_REPEAT</b>.&nbsp;
+ This limitation no longer exists, as the library can automatically detect the next available repetition depth.
+ </div>
+ <div>
+ This macro is deprecated.&nbsp;
+ It only exists for backward compatibility.&nbsp;
+ Use <b>BOOST_PP_ENUM_BINARY_PARAMS</b> instead:
+ <div>
+ <b>BOOST_PP_ENUM_BINARY_PARAMS</b>(<i>count</i>, <i>param</i>, = <i>def</i>)
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_BINARY_PARAMS</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_params_with_defaults.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/repetition/enum_params_with_defaults.hpp&gt;
+
+BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(3, class T, U)
+ // expands to class T0 = U0, class T1 = U1, class T2 = U2
+
+BOOST_PP_ENUM_BINARY_PARAMS(3, class T, = U)
+ // expands to class T0 = U0, class T1 = U1, class T2 = U2
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_params_z.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_params_z.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,82 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_PARAMS_Z</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_PARAMS_Z</b> macro generates a comma-separated list of parameters.&nbsp;
+ It reenters <b>BOOST_PP_REPEAT</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_PARAMS_Z</b>(<i>z</i>, <i>count</i>, <i>param</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>z</dt>
+ <dd>
+ The next available <b>BOOST_PP_REPEAT</b> dimension.
+ </dd>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>param</dt>
+ <dd>
+ The text of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_PARAMS_Z</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ <i>param</i> ## <i>0</i>, <i>param</i> ## <i>1</i>, ... <i>param</i> ## <i>count</i> - <i>1</i>
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_PARAMS</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_params.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div id="sample"><pre>
+#include &lt;boost/preprocessor/arithmetic/inc.hpp&gt;
+#include &lt;boost/preprocessor/repetition/enum_params.hpp&gt;
+#include &lt;boost/preprocessor/repetition/repeat.hpp&gt;
+
+#define MACRO(z, n, _) \
+ template&lt; \
+ BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(n), class T) \
+ &gt; class X ## n { \
+ /* ... */ \
+ }; \
+ /**/
+
+BOOST_PP_REPEAT(2, MACRO, nil)
+/*
+ expands to...
+ template&lt;class T0&gt; class X0 { };
+ template&lt;class T0, class T1&gt; class X1 { };
+*/
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_shifted.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_shifted.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,82 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_SHIFTED</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_SHIFTED</b> macro generates a comma-separated, shifted list.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_SHIFTED</b>(<i>count</i>, <i>macro</i>, <i>data</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>count</dt>
+ <dd>
+ The number of repetitious calls to <i>macro</i>.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>macro</dt>
+ <dd>
+ A ternary operation of the form <i>macro</i>(<i>z</i>, <i>n</i>, <i>data</i>).&nbsp;
+ This macro is expanded by <b>BOOST_PP_ENUM_SHIFTED</b> with the next available repetition depth,
+ the current repetition number, and the auxiliary <i>data</i> argument.&nbsp;
+ </dd>
+ <dt>data</dt>
+ <dd>
+ Auxiliary data passed to <i>macro</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ <i>macro</i>(<i>z</i>, <i>1</i>, <i>data</i>), ... <i>macro</i>(<i>z</i>, <i>count</i> - <i>1</i>, <i>data</i>)
+ </div>
+ </div>
+ <div>
+ The <i>z</i> value that is passed to <i>macro</i> represents the next available repetition dimension.&nbsp;
+ Other macros that have <b>_Z</b> suffix variants internally use <b>BOOST_PP_REPEAT</b>--for example, <b>BOOST_PP_ENUM_PARAMS</b> and <b>BOOST_PP_ENUM_PARAMS_Z</b>.&nbsp;
+ Using these <b>_Z</b> versions is not strictly necessary, but passing the <i>z</i> value (that is passed to <i>macro</i>) to these macros allows them to reenter <b>BOOST_PP_REPEAT</b> with maximum efficiency.
+ </div>
+ <div>
+ To directly use this <i>z</i> value, rather than simply passing it to another macro, see <b>BOOST_PP_ENUM_SHIFTED_<i>z</i></b>.
+ </div>
+ <div>
+ Previously, this macro could not be used recursively inside <b>BOOST_PP_REPEAT</b>.&nbsp;
+ This limitation no longer exists, as the library can automatically detect the next available repetition depth.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_SHIFTED_z</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_shifted.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/repetition/enum.hpp&gt;
+#include &lt;boost/preprocessor/repetition/enum_shifted.hpp&gt;
+
+#define TYPE(z, n, type) type
+
+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
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_shifted_params.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_shifted_params.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,73 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_SHIFTED_PARAMS</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_SHIFTED_PARAMS</b> macro generates a comma-separated, shifted list of parameters.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_SHIFTED_PARAMS</b>(<i>count</i>, <i>param</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>param</dt>
+ <dd>
+ The text of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_SHIFTED_PARAMS</b> concatenates numbers ranging from <i>1</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ <i>param</i> ## <i>1</i>, ... <i>param</i> ## <i>count</i> - <i>1</i>
+ </div>
+ </div>
+ <div>
+ This macro facilitates a typical usage of the library.&nbsp;
+ Shifted parameter lists are common in template metaprograms.
+ </div>
+ <div>
+ To use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ENUM_SHIFTED_PARAMS_Z</b>.
+ </div>
+ <div>
+ Previously, this macro could not be used recursively inside <b>BOOST_PP_REPEAT</b>.&nbsp;
+ This limitation no longer exists, as the library can automatically detect the next available repetition depth.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ <li>BOOST_PP_SHIFTED_ENUM_PARAMS_z</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_shifted_params.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/repetition/enum_shifted_params.hpp&gt;
+
+BOOST_PP_ENUM_SHIFTED_PARAMS(3, class T) // expands to class T1, class T2
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_shifted_params_z.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_shifted_params_z.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,79 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_SHIFTED_PARAMS_Z</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_SHIFTED_PARAMS_Z</b> macro generates a comma-separated, shifted list of parameters.&nbsp;
+ It reenters <b>BOOST_PP_REPEAT</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_SHIFTED_PARAMS_Z</b>(<i>z</i>, <i>count</i>, <i>param</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>z</dt>
+ <dd>
+ The next available <b>BOOST_PP_REPEAT</b> dimension.
+ </dd>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>param</dt>
+ <dd>
+ The text of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_SHIFTED_PARAMS_Z</b> concatenates numbers ranging from <i>1</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ <i>param</i> ## <i>1</i>, ... <i>param</i> ## <i>count</i> - <i>1</i>
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ <li>BOOST_PP_ENUM_SHIFTED_PARAMS</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_shifted_params.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/repetition/enum_params.hpp&gt;
+#include &lt;boost/preprocessor/repetition/enum_shifted_params.hpp&gt;
+#include &lt;boost/preprocessor/repetition/repeat.hpp&gt;
+
+int add(void) {
+ return 0;
+}
+
+#define ADD_F(z, n, _) \
+ int add_f(BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(n), int p)) { \
+ return p0 + add_f(BOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, BOOST_PP_INC(n), p)); \
+ } \
+ /**/
+
+BOOST_PP_REPEAT(5, ADD_F, nil)
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_shifted_z.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_shifted_z.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,93 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_SHIFTED_z</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_SHIFTED_<i>z</i></b> macro represents a reentry into the <b>BOOST_PP_ENUM_SHIFTED</b> repetition construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_SHIFTED_</b> ## <i>z</i>(<i>count</i>, <i>macro</i>, <i>data</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>z</dt>
+ <dd>
+ The next available <b>BOOST_PP_REPEAT</b> dimension.
+ </dd>
+ <dt>count</dt>
+ <dd>
+ The number of repetitious calls to <i>macro</i>.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>macro</dt>
+ <dd>
+ A ternary operation of the form <i>macro</i>(<i>z</i>, <i>n</i>, <i>data</i>).&nbsp;
+ This macro is expanded by <b>BOOST_PP_ENUM_SHIFTED</b> with the next available repetition depth,
+ the current repetition number, and the auxiliary <i>data</i> argument.&nbsp;
+ </dd>
+ <dt>data</dt>
+ <dd>
+ Auxiliary data passed to <i>macro</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the sequence:
+ <div>
+ <i>macro</i>(<i>z</i>, <i>1</i>, <i>data</i>), ... <i>macro</i>(<i>z</i>, <i>count</i> - <i>1</i>, <i>data</i>)
+ </div>
+ </div>
+ <div>
+ At certain times, it may be necessary to perform the concatenation with <b>BOOST_PP_CAT</b> rather than the preprocessor token-pasting operator.&nbsp;
+ This happens when the <i>z</i> value is a macro invocation itself.&nbsp;
+ It needs a delay to allow it to expand.&nbsp;
+ The syntax in such a scenario becomes:
+ <div>
+ <b>BOOST_PP_CAT</b>(<b>BOOST_PP_ENUM_SHIFTED_</b>, <i>z</i>)(<i>count</i>, <i>macro</i>, <i>data</i>).
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_CAT</li>
+ <li>BOOST_PP_ENUM_SHIFTED</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_shifted.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/arithmetic/inc.hpp&gt;
+#include &lt;boost/preprocessor/repetition/enum_shifted.hpp&gt;
+#include &lt;boost/preprocessor/repetition/repeat.hpp&gt;
+
+#define TEXT(z, n, text) text
+
+#define MACRO(z, n, data) \
+ ( \
+ BOOST_PP_ENUM_SHIFTED_ ## z( \
+ BOOST_PP_INC(n), \
+ TEXT, data \
+ ) \
+ ) \
+ /**/
+
+BOOST_PP_REPEAT(3, MACRO, class) // expands to () (class) (class, class)
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_trailing.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_trailing.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,83 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_TRAILING</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_TRAILING</b> macro generates a comma-separated list with a leading comma.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_TRAILING</b>(<i>count</i>, <i>macro</i>, <i>data</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>count</dt>
+ <dd>
+ The number of repetitious calls to <i>macro</i>.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>macro</dt>
+ <dd>
+ A ternary operation of the form <i>macro</i>(<i>z</i>, <i>n</i>, <i>data</i>).&nbsp;
+ This macro is expanded by <b>BOOST_PP_ENUM</b> with the next available repetition depth,
+ the current repetition number, and the auxiliary <i>data</i> argument.&nbsp;
+ </dd>
+ <dt>data</dt>
+ <dd>
+ Auxiliary data passed to <i>macro</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ , <i>macro</i>(<i>z</i>, <i>0</i>, <i>data</i>), <i>macro</i>(<i>z</i>, <i>1</i>, <i>data</i>), ... <i>macro</i>(<i>z</i>, <i>count</i> - <i>1</i>, <i>data</i>)
+ </div>
+ </div>
+ <div>
+ The <i>z</i> value that is passed to <i>macro</i> represents the next available repetition dimension.&nbsp;
+ Other macros that have <b>_Z</b> suffix variants internally use <b>BOOST_PP_REPEAT</b>--for example, <b>BOOST_PP_ENUM_PARAMS</b> and <b>BOOST_PP_ENUM_PARAMS_Z</b>.&nbsp;
+ Using these <b>_Z</b> versions is not strictly necessary, but passing the <i>z</i> value (that is passed to <i>macro</i>) to these macros allows them to reenter <b>BOOST_PP_REPEAT</b> with maximum efficiency.
+ </div>
+ <div>
+ To directly use this <i>z</i> value, rather than simply passing it to another macro, see <b>BOOST_PP_ENUM_TRAILING_<i>z</i></b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_TRAILING_z</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_trailing.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/repetition/enum_trailing.hpp&gt;
+
+#define TEXT(z, n, text) text
+
+template&lt;class BOOST_PP_ENUM_TRAILING(3, TEXT, class)&gt;
+class X { };
+/*
+ expands to...
+
+template&lt;class, class, class, class&gt;
+class X { };
+*/
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_trailing_params.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_trailing_params.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,66 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_TRAILING_PARAMS</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_TRAILING_PARAMS</b> macro generates a comma-separated list of parameters with a leading comma.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_TRAILING_PARAMS</b>(<i>count</i>, <i>param</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>param</dt>
+ <dd>
+ The text of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_TRAILING_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ , <i>param</i> ## <i>0</i>, <i>param</i> ## <i>1</i>, ... <i>param</i> ## <i>count</i> - <i>1</i>
+ </div>
+ </div>
+ <div>
+ To use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ENUM_TRAILING_PARAMS_Z</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_TRAILING_PARAMS_Z</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_trailing_params.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/repetition/enum_trailing_params.hpp&gt;
+
+class X BOOST_PP_ENUM_TRAILING_PARAMS(2, class T)
+ // expands to class X, class T0, class T1, class T2
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_trailing_params_z.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_trailing_params_z.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,81 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_TRAILING_PARAMS_Z</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_TRAILING_PARAMS_Z</b> macro generates a comma-separated list of parameters with a leading comma.&nbsp;
+ It reenters <b>BOOST_PP_REPEAT</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_TRAILING_PARAMS_Z</b>(<i>z</i>, <i>count</i>, <i>param</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>z</dt>
+ <dd>
+ The next available <b>BOOST_PP_REPEAT</b> dimension.
+ </dd>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>param</dt>
+ <dd>
+ The text of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_TRAILING_PARAMS_Z</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ , <i>param</i> ## <i>0</i>, <i>param</i> ## <i>1</i>, ... <i>param</i> ## <i>count</i> - <i>1</i>
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_TRAILING_PARAMS</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_trailing_params.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div id="sample"><pre>
+#include &lt;boost/preprocessor/repetition/enum_trailing_params.hpp&gt;
+#include &lt;boost/preprocessor/repetition/repeat.hpp&gt;
+
+#define MACRO(z, n, _) \
+ template&lt; \
+ class BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, class T) \
+ &gt; class X ## n { \
+ /* ... */ \
+ }; \
+ /**/
+
+BOOST_PP_REPEAT(2, MACRO, nil)
+/*
+ expands to...
+ template&lt;class&gt; class X0 { };
+ template&lt;class, class T0&gt; class X1 { };
+*/
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_trailing_z.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_trailing_z.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,96 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_TRAILING_z</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_TRAILING_<i>z</i></b> macro represents a reentry into the <b>BOOST_PP_ENUM_TRAILING</b> repetition construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_TRAILING_</b> ## <i>z</i>(<i>count</i>, <i>macro</i>, <i>data</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>z</dt>
+ <dd>
+ The next available <b>BOOST_PP_REPEAT</b> dimension.
+ </dd>
+ <dt>count</dt>
+ <dd>
+ The number of repetitious calls to <i>macro</i>.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>macro</dt>
+ <dd>
+ A ternary operation of the form <i>macro</i>(<i>z</i>, <i>n</i>, <i>data</i>).&nbsp;
+ This macro is expanded by <b>BOOST_PP_ENUM</b> with the next available repetition depth,
+ the current repetition number, and the auxiliary <i>data</i> argument.&nbsp;
+ </dd>
+ <dt>data</dt>
+ <dd>
+ Auxiliary data passed to <i>macro</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the sequence:
+ <div>
+ , <i>macro</i>(<i>z</i>, <i>0</i>, <i>data</i>), <i>macro</i>(<i>z</i>, <i>1</i>, <i>data</i>), ... <i>macro</i>(<i>z</i>, <i>count</i> - <i>1</i>, <i>data</i>)
+ </div>
+ </div>
+ <div>
+ At certain times, it may be necessary to perform the concatenation with <b>BOOST_PP_CAT</b> rather than the preprocessor token-pasting operator.&nbsp;
+ This happens when the <i>z</i> value is a macro invocation itself.&nbsp;
+ It needs a delay to allow it to expand.&nbsp;
+ The syntax in such a scenario becomes:
+ <div>
+ <b>BOOST_PP_CAT</b>(<b>BOOST_PP_ENUM_TRAILING_</b>, <i>z</i>)(<i>count</i>, <i>macro</i>, <i>data</i>)
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_CAT</li>
+ <li>BOOST_PP_ENUM_TRAILING</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_trailing.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/repetition/enum.hpp&gt;
+#include &lt;boost/preprocessor/repetition/enum_trailing.hpp&gt;
+
+#define TEXT(z, n, text) text
+
+#define TTP(z, n, _) \
+ template&lt; \
+ class BOOST_PP_ENUM_TRAILING_ ## z(n, TEXT, class) \
+ &gt; \
+ class T ## n \
+ /**/
+
+BOOST_PP_ENUM(3, TTP, nil)
+ /*
+ expands to...
+ template&lt;class&gt; class T0,
+ template&lt;class, class&gt; class T1,
+ template&lt;class, class, class&gt; class T2
+ */
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/enum_z.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/enum_z.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,96 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_z</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_<i>z</i></b> macro represents a reentry into the <b>BOOST_PP_ENUM</b> repetition construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_</b> ## <i>z</i>(<i>count</i>, <i>macro</i>, <i>data</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>z</dt>
+ <dd>
+ The next available <b>BOOST_PP_REPEAT</b> dimension.
+ </dd>
+ <dt>count</dt>
+ <dd>
+ The number of repetitious calls to <i>macro</i>.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>macro</dt>
+ <dd>
+ A ternary operation of the form <i>macro</i>(<i>z</i>, <i>n</i>, <i>data</i>).&nbsp;
+ This macro is expanded by <b>BOOST_PP_ENUM</b> with the next available repetition depth,
+ the current repetition number, and the auxiliary <i>data</i> argument.&nbsp;
+ </dd>
+ <dt>data</dt>
+ <dd>
+ Auxiliary data passed to <i>macro</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the sequence:
+ <div>
+ <i>macro</i>(<i>z</i>, <i>0</i>, <i>data</i>), <i>macro</i>(<i>z</i>, <i>1</i>, <i>data</i>), ... <i>macro</i>(<i>z</i>, <i>count</i> - <i>1</i>, <i>data</i>)
+ </div>
+ </div>
+ <div>
+ At certain times, it may be necessary to perform the concatenation with <b>BOOST_PP_CAT</b> rather than the preprocessor token-pasting operator.&nbsp;
+ This happens when the <i>z</i> value is a macro invocation itself.&nbsp;
+ It needs a delay to allow it to expand.&nbsp;
+ The syntax in such a scenario becomes:
+ <div>
+ <b>BOOST_PP_CAT</b>(<b>BOOST_PP_ENUM_</b>, <i>z</i>)(<i>count</i>, <i>macro</i>, <i>data</i>)
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_CAT</li>
+ <li>BOOST_PP_ENUM</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/arithmetic/inc.hpp&gt;
+#include &lt;boost/preprocessor/repetition/enum.hpp&gt;
+
+#define TEXT(z, n, text) text
+
+#define TTP(z, n, _) \
+ template&lt; \
+ BOOST_PP_ENUM_ ## z(BOOST_PP_INC(n), TEXT, class) \
+ &gt; \
+ class T ## n \
+ /**/
+
+BOOST_PP_ENUM(3, TTP, nil)
+ /*
+ expands to...
+ template&lt;class&gt; class T0,
+ template&lt;class, class&gt; class T1,
+ template&lt;class, class, class&gt; class T2
+ */
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/equal.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/equal.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,64 @@
+<html>
+<head>
+ <title>BOOST_PP_EQUAL</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_EQUAL</b> macro compares two values for equality.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_EQUAL</b>(<i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The left operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is equal to <i>y</i>, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
+ There is no longer any such restriction because this macro no longer uses <b>BOOST_PP_WHILE</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_EQUAL_D</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/comparison/equal.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/comparison/equal.hpp&gt;
+
+BOOST_PP_EQUAL(4, 3) // expands to 0
+BOOST_PP_EQUAL(5, 5) // expands to 1
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/equal_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/equal_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,69 @@
+<html>
+<head>
+ <title>BOOST_PP_EQUAL_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_EQUAL_D</b> macro compares two values for equality.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_EQUAL_D</b>(<i>d</i>, <i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ This argument is ignored.
+ </dd>
+ <dt>x</dt>
+ <dd>
+ The left operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is equal to <i>y</i>, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <div>
+ This macro is deprecated.&nbsp;
+ It only exists for backward compatibility.&nbsp;
+ Use <b>BOOST_PP_EQUAL</b> instead.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_EQUAL</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/comparison/equal.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/comparison/equal.hpp&gt;
+
+BOOST_PP_EQUAL_D(1, 4, 3) // expands to 0
+BOOST_PP_EQUAL_D(1, 5, 5) // expands to 1
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/esbp.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/esbp.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,65 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_BINARY_PARAMS</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS</b> macro generates a comma-separated, shifted list of binary parameters.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS</b>(<i>count</i>, <i>p1</i>, <i>p2</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>p1</dt>
+ <dd>
+ The text of the first part of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ <dt>p2</dt>
+ <dd>
+ The text of the first part of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ <i>p1</i> ## <i>1</i> <i>p2</i> ## <i>1</i>, <i>p1</i> ## <i>2</i> <i>p2</i> ## <i>2</i>, ... <i>p1</i> ## <i>count</i> - <i>1</i> <i>p2</i> ## <i>count</i> - <i>1</i>
+ </div>
+ </div>
+ <div>
+ To use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_shifted_binary_params.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/esbpz.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/esbpz.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,67 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z</b> macro generates a comma-separated list, shifted of binary parameters.&nbsp;
+ It reenters <b>BOOST_PP_REPEAT</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z</b>(<i>z</i>, <i>count</i>, <i>p1</i>, <i>p2</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>z</dt>
+ <dd>
+ The next available <b>BOOST_PP_REPEAT</b> dimension.
+ </dd>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>p1</dt>
+ <dd>
+ The text of the first part of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ <dt>p2</dt>
+ <dd>
+ The text of the first part of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ <i>p1</i> ## <i>1</i> <i>p2</i> ## <i>1</i>, <i>p1</i> ## <i>2</i> <i>p2</i> ## <i>2</i>, ... <i>p1</i> ## <i>count</i> - <i>1</i> <i>p2</i> ## <i>count</i> - <i>1</i>
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_shifted_binary_params.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/etbp.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/etbp.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,83 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</b> macro generates a comma-separated list of binary parameters with a leading comma.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</b>(<i>count</i>, <i>p1</i>, <i>p2</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>p1</dt>
+ <dd>
+ The text of the first part of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ <dt>p2</dt>
+ <dd>
+ The text of the first part of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ , <i>p1</i> ## <i>0</i> <i>p2</i> ## <i>0</i>, <i>p1</i> ## <i>1</i> <i>p2</i> ## <i>1</i>, ... <i>p1</i> ## <i>count</i> - <i>1</i> <i>p2</i> ## <i>count</i> - <i>1</i>
+ </div>
+ </div>
+ <div>
+ To use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_trailing_binary_params.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/facilities/intercept.hpp&gt;
+#include &lt;boost/preprocessor/repetition/enum_trailing_binary_params.hpp&gt;
+
+template&lt;class X BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(4, class A, = X BOOST_PP_INTERCEPT)&gt;
+struct sample {
+ // ...
+};
+
+/* expands to...
+
+template&lt;class X, class A0 = X, class A1 = X, class A2 = X, class A3 = X&gt;
+struct sample {
+ // ...
+}
+*/
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/etbpz.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/etbpz.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,67 @@
+<html>
+<head>
+ <title>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</b> macro generates a comma-separated list of binary parameters with a leading comma.&nbsp;
+ It reenters <b>BOOST_PP_REPEAT</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</b>(<i>z</i>, <i>count</i>, <i>p1</i>, <i>p2</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>z</dt>
+ <dd>
+ The next available <b>BOOST_PP_REPEAT</b> dimension.
+ </dd>
+ <dt>count</dt>
+ <dd>
+ The number of parameters to generate.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
+ </dd>
+ <dt>p1</dt>
+ <dd>
+ The text of the first part of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ <dt>p2</dt>
+ <dd>
+ The text of the first part of the parameter.&nbsp;
+ <b>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</b> concatenates numbers ranging from <i>0</i> to <i>count</i> - <i>1</i>
+ to generate parameters.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the comma-separated sequence:
+ <div>
+ , <i>p1</i> ## <i>0</i> <i>p2</i> ## <i>0</i>, <i>p1</i> ## <i>1</i> <i>p2</i> ## <i>1</i>, ... <i>p1</i> ## <i>count</i> - <i>1</i> <i>p2</i> ## <i>count</i> - <i>1</i>
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ENUM_TRAILING_BINARY_PARAMS</li>
+ <li>BOOST_PP_LIMIT_REPEAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/enum_trailing_binary_params.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/expand.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/expand.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,67 @@
+<html>
+<head>
+ <title>BOOST_PP_EXPAND</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_EXPAND</b> macro performs a double macro-expansion on its argument.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_EXPAND</b>(<i>x</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The argument to be expanded twice.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro is useful when a delay is necessary to produce the correct semantics of a macro invocation.&nbsp;
+ For example, when a macro expands to an argument list to another macro.&nbsp;
+ This macro will expand the the argument list on the first pass, and then rescan to expand any more macros.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/facilities/expand.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/control/if.hpp&gt;
+#include &lt;boost/preprocessor/facilities/expand.hpp&gt;
+
+#define MACRO(a, b, c) (a)(b)(c)
+#define ARGS() (1, 2, 3)
+
+BOOST_PP_EXPAND(MACRO ARGS()) // expands to (1)(2)(3)
+
+#define SAMPLE(n) \
+ BOOST_PP_EXPAND( \
+ MACRO \
+ BOOST_PP_IF( \
+ n, \
+ (x, y, z), \
+ (a, b, c) \
+ ) \
+ ) \
+ /**/
+
+SAMPLE(0) // expands to (a)(b)(c)
+SAMPLE(1) // expands to (x)(y)(z)
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/expr_if.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/expr_if.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,70 @@
+<html>
+<head>
+ <title>BOOST_PP_EXPR_IF</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_EXPR_IF</b> macro expands to its second argument if its first argument is non-zero or expands to nothing otherwise.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_EXPR_IF</b>(<i>cond</i>, <i>expr</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>cond</dt>
+ <dd>
+ The condition that determines if the result is <i>expr</i> or nothing.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>expr</dt>
+ <dd>
+ The result of the expansion if <i>cond</i> is non-zero.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro performs a boolean conversion on its first argument.&nbsp;
+ If that conversion is unnecessary, use <b>BOOST_PP_EXPR_IIF</b> instead.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_EXPR_IIF</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/control/expr_if.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/control/expr_if.hpp&gt;
+#include &lt;boost/preprocessor/tuple/elem.hpp&gt;
+
+#define CV(n) \
+ BOOST_PP_EXPR_IF( \
+ n, \
+ BOOST_PP_TUPLE_ELEM( \
+ 4, n, \
+ (..., const, volatile, const volatile) \
+ ) \
+ ) \
+ /**/
+
+CV(0) // expands to nothing
+CV(1) // expands to const
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/expr_iif.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/expr_iif.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,67 @@
+<html>
+<head>
+ <title>BOOST_PP_EXPR_IIF</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_EXPR_IIF</b> macro expands to its second argument if its first argument is <i>1</i> and expands to nothing if its first argument is <i>0</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_EXPR_IIF</b>(<i>bit</i>, <i>expr</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>bit</dt>
+ <dd>
+ The condition that determines if the result is <i>expr</i> or nothing.&nbsp;
+ This value must expand to <i>0</i> or </i>1</i>.
+ </dd>
+ <dt>expr</dt>
+ <dd>
+ The result of the expansion if <i>bit</i> is <i>1</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro <i>does not</i> perform a boolean conversion on its first argument.&nbsp;
+ If that conversion is necessary, use <b>BOOST_PP_EXPR_IF</b> instead.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_EXPR_IF</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/control/expr_iif.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/logical/and.hpp&gt;
+#include &lt;boost/preprocessor/control/expr_iif.hpp&gt;
+
+#define INSERT_AND(p, q, text) \
+ BOOST_PP_EXPR_IIF( \
+ BOOST_PP_AND(p, q), \
+ text \
+ ) \
+ /**/
+
+INSERT_AND(2, 3, abc) // expands to abc
+INSERT_AND(0, 7, xyz) // expands to nothing
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/filename_x.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/filename_x.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,52 @@
+<html>
+<head>
+ <title>BOOST_PP_FILENAME_x</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_FILENAME_<i>x</i></b> macro is a user-defined <i>named external argument</i> used by <b>BOOST_PP_ITERATE</b>.&nbsp;
+ It denotes the file to be iterated over.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #define <b>BOOST_PP_FILENAME_<i>x</i></b> <i>filename</i>
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The iteration depth of the next <i>file-iteration</i>.&nbsp;
+ This value <i>must</i> be the current iteration depth + <i>1</i>.
+ </dd>
+ <dt>filename</dt>
+ <dd>
+ A quoted or angle-bracketed filename to used as the target of a <i>file-iteration</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro is part of the secondary method of passing arguments to <b>BOOST_PP_ITERATE</b>.&nbsp;
+ The other part is <b>BOOST_PP_ITERATION_LIMITS</b>.
+ </div>
+ <div>
+ This macro is automatically undefined for reuse by a call to <b>BOOST_PP_ITERATE</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ITERATE</li>
+ <li>BOOST_PP_ITERATION_LIMITS</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/for.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/for.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,105 @@
+<html>
+<head>
+ <title>BOOST_PP_FOR</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_FOR</b> macro represents a generalized horizontal repetition construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_FOR</b>(<i>state</i>, <i>pred</i>, <i>op</i>, <i>macro</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>state</dt>
+ <dd>
+ The initial state.
+ </dd>
+ <dt>pred</dt>
+ <dd>
+ A binary predicate of the form <i>pred</i>(<i>r</i>, <i>state</i>).&nbsp;
+ This macro must expand to an integer in the range of <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.&nbsp;
+ <b>BOOST_PP_FOR</b> repeatedly expands <i>macro</i> while this predicate returns non-zero.&nbsp;
+ This macro is called with the next available <b>BOOST_PP_FOR</b> repetition and the current <i>state</i>.
+ </dd>
+ <dt>op</dt>
+ <dd>
+ A binary operation of the form <i>op</i>(<i>r</i>, <i>state</i>).&nbsp;
+ This operation is expanded by <b>BOOST_PP_FOR</b> with the next available <b>BOOST_PP_FOR</b> repetition and the current <i>state</i>.&nbsp;
+ This macro is repeatedly applied to the <i>state</i>, each time producing a new <i>state</i>, until <i>pred</i> returns <i>0</i>.
+ </dd>
+ <dt>macro</dt>
+ <dd>
+ A binary macro of the form <i>macro</i>(<i>r</i>, <i>state</i>).&nbsp;
+ This macro is expanded by <b>BOOST_PP_FOR</b> with the next available <b>BOOST_PP_FOR</b> repetition and the current <i>state</i>.&nbsp;
+ This macro is is repeated by <b>BOOST_PP_FOR</b> until <i>pred</i> returns <i>0</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the sequence:
+ <div>
+ <i>macro</i>(<i>r</i>, <i>state</i>) <i>macro</i>(<i>r</i>, <i>op</i>(<i>r</i>, <i>state</i>)) ... <i>macro</i>(<i>r</i>, <i>op</i>(<i>r</i>, ... <i>op</i>(<i>r</i>, <i>state</i>) ... ))
+ </div>
+ </div>
+ <div>
+ The <i>r</i> value that is passed to <i>pred</i>, <i>op</i>, and <i>macro</i> represents the next available <b>BOOST_PP_FOR</b> repetition.&nbsp;
+ Other macros that have <b>_R</b> suffix variants internally use <b>BOOST_PP_FOR</b>--for example, <b>BOOST_PP_LIST_FOR_EACH</b> and <b>BOOST_PP_LIST_FOR_EACH_R</b>.&nbsp;
+ Using these <b>_R</b> versions is not strictly necessary, but passing the <i>r</i> value (that is passed to <i>pred</i>, <i>op</i>, and <i>macro</i>) to these macros allows them to reenter <b>BOOST_PP_FOR</b> with maximum efficiency.
+ </div>
+ <div>
+ To directly use this <i>r</i> value, rather than simply passing it to another macro, see <b>BOOST_PP_FOR_<i>r</i></b>.
+ </div>
+ <div>
+ Previously, this macro could not be used recursively inside <b>BOOST_PP_FOR</b>.&nbsp;
+ This limitation no longer exists, as the library can automatically detect the next available <b>BOOST_PP_FOR</b> repetition.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_FOR_r</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/for.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/arithmetic/inc.hpp&gt;
+#include &lt;boost/preprocessor/comparison/not_equal.hpp&gt;
+#include &lt;boost/preprocessor/repetition/for.hpp&gt;
+#include &lt;boost/preprocessor/tuple/elem.hpp&gt;
+
+#define PRED(r, state) \
+ BOOST_PP_NOT_EQUAL( \
+ BOOST_PP_TUPLE_ELEM(2, 0, state), \
+ BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(2, 1, state)) \
+ ) \
+ /**/
+
+#define OP(r, state) \
+ ( \
+ BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(2, 0, state)), \
+ BOOST_PP_TUPLE_ELEM(2, 1, state) \
+ ) \
+ /**/
+
+#define MACRO(r, state) BOOST_PP_TUPLE_ELEM(2, 0, state)
+
+BOOST_PP_FOR((5, 10), PRED, OP, MACRO) // expands to 5 6 7 8 9 10
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/for_r.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/for_r.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,155 @@
+<html>
+<head>
+ <title>BOOST_PP_FOR_r</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_FOR_<i>r</i></b> macro represents a reentry into the <b>BOOST_PP_FOR</b> repetition construct.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_FOR_</b> ## <i>r</i>(<i>state</i>, <i>pred</i>, <i>op</i>, <i>macro</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>r</dt>
+ <dd>
+ The next available <b>BOOST_PP_FOR</b> repetition.
+ </dd>
+ <dt>state</dt>
+ <dd>
+ The initial state.
+ </dd>
+ <dt>pred</dt>
+ <dd>
+ A binary predicate of the form <i>pred</i>(<i>r</i>, <i>state</i>).&nbsp;
+ This macro must expand to an integer in the range of <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.&nbsp;
+ <b>BOOST_PP_FOR</b> repeatedly expands <i>macro</i> while this predicate returns non-zero.&nbsp;
+ This macro is called with the next available <b>BOOST_PP_FOR</b> repetition and the current <i>state</i>.
+ </dd>
+ <dt>op</dt>
+ <dd>
+ A binary operation of the form <i>op</i>(<i>r</i>, <i>state</i>).&nbsp;
+ This operation is expanded by <b>BOOST_PP_FOR</b> with the next available <b>BOOST_PP_FOR</b> repetition and the current <i>state</i>.&nbsp;
+ This macro is repeatedly applied to the <i>state</i>, each time producing a new <i>state</i>, until <i>pred</i> returns <i>0</i>.
+ </dd>
+ <dt>macro</dt>
+ <dd>
+ A binary macro of the form <i>macro</i>(<i>r</i>, <i>state</i>).&nbsp;
+ This macro is expanded by <b>BOOST_PP_FOR</b> with the next available <b>BOOST_PP_FOR</b> repetition and the current <i>state</i>.&nbsp;
+ This macro is is repeated by <b>BOOST_PP_FOR</b> until <i>pred</i> returns <i>0</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands to the sequence:
+ <div>
+ <i>macro</i>(<i>r</i>, <i>state</i>) <i>macro</i>(<i>r</i>, <i>op</i>(<i>r</i>, <i>state</i>)) ... <i>macro</i>(<i>r</i>, <i>op</i>(<i>r</i>, ... <i>op</i>(<i>r</i>, <i>state</i>) ... ))
+ </div>
+ </div>
+ <div>
+ At certain times, it may be necessary to perform the concatenation with <b>BOOST_PP_CAT</b> rather than the preprocessor token-pasting operator.&nbsp;
+ This happens when the <i>r</i> value is a macro invocation itself.&nbsp;
+ It needs a delay to allow it to expand.&nbsp;
+ The syntax in such a scenario becomes:
+ <div>
+ <b>BOOST_PP_CAT</b>(<b>BOOST_PP_FOR_</b>, <i>r</i>)(<i>state</i>, <i>pred</i>, <i>op</i>, <i>macro</i>)
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_CAT</li>
+ <li>BOOST_PP_FOR</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/repetition/for.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/arithmetic/dec.hpp&gt;
+#include &lt;boost/preprocessor/arithmetic/inc.hpp&gt;
+#include &lt;boost/preprocessor/comparison/not_equal.hpp&gt;
+#include &lt;boost/preprocessor/punctuation/comma_if.hpp&gt;
+#include &lt;boost/preprocessor/repetition/for.hpp&gt;
+#include &lt;boost/preprocessor/tuple/elem.hpp&gt;
+
+#define PRED(r, state) \
+ BOOST_PP_NOT_EQUAL( \
+ BOOST_PP_TUPLE_ELEM(4, 0, state), \
+ BOOST_PP_INC( \
+ BOOST_PP_TUPLE_ELEM(4, 1, state) \
+ ) \
+ ) \
+ /**/
+
+#define OP(r, state) \
+ ( \
+ BOOST_PP_INC( \
+ BOOST_PP_TUPLE_ELEM(4, 0, state) \
+ ), \
+ BOOST_PP_TUPLE_ELEM(4, 1, state), \
+ BOOST_PP_TUPLE_ELEM(4, 2, state), \
+ BOOST_PP_INC( \
+ BOOST_PP_TUPLE_ELEM(4, 3, state) \
+ ) \
+ ) \
+ /**/
+
+#define MACRO(r, state) \
+ BOOST_PP_COMMA_IF( \
+ BOOST_PP_TUPLE_ELEM(4, 3, state) \
+ ) template&lt; \
+ BOOST_PP_FOR_ ## r( \
+ (0, BOOST_PP_TUPLE_ELEM(4, 0, state), _, 0), \
+ PRED_2, OP, MACRO_2 \
+ ) \
+ &gt; class BOOST_PP_CAT( \
+ BOOST_PP_TUPLE_ELEM(4, 2, state), \
+ BOOST_PP_TUPLE_ELEM(4, 0, state) \
+ ) \
+ /**/
+
+#define PRED_2(r, state) \
+ BOOST_PP_NOT_EQUAL( \
+ BOOST_PP_TUPLE_ELEM(4, 0, state), \
+ BOOST_PP_TUPLE_ELEM(4, 1, state) \
+ ) \
+ /**/
+
+#define MACRO_2(r, state) \
+ BOOST_PP_COMMA_IF( \
+ BOOST_PP_TUPLE_ELEM(4, 0, state) \
+ ) class \
+ /**/
+
+#define TEMPLATE_TEMPLATE(low, high, name) \
+ BOOST_PP_FOR( \
+ (low, high, name, 0), \
+ PRED, OP, MACRO \
+ ) \
+ /**/
+
+TEMPLATE_TEMPLATE(2, 4, T)
+/*
+ expands to...
+ template&lt;class, class&gt; class T2,
+ template&lt;class, class, class&gt; class T3,
+ template&lt;class, class, class, class&gt; class T4
+*/
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/frame_finish.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/frame_finish.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,42 @@
+<html>
+<head>
+ <title>BOOST_PP_FRAME_FINISH</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_FRAME_FINISH</b> macro expands to the upper bound of an absolute <i>file-iteration</i> depth.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_FRAME_FINISH</b>(<i>i</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>i</dt>
+ <dd>
+ The absolute depth of the frame whose upper bound is to be retreived.&nbsp;
+ Valid values range from <i>1</i> to <b>BOOST_PP_ITERATION_DEPTH</b>().
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro is only valid when a <i>file-iteration</i> is in progress.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/iteration/iterate.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/frame_flags.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/frame_flags.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,42 @@
+<html>
+<head>
+ <title>BOOST_PP_FRAME_FLAGS</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_FRAME_FLAGS</b> macro expands to the flags associated with an absolute <i>file-iteration</i> depth.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_FRAME_FLAGS</b>(<i>i</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>i</dt>
+ <dd>
+ The absolute depth of the frame whose flags are to be retreived.&nbsp;
+ Valid values range from <i>1</i> to <b>BOOST_PP_ITERATION_DEPTH</b>().
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro is only valid when a <i>file-iteration</i> is in progress.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/iteration/iterate.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/frame_iteration.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/frame_iteration.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,73 @@
+<html>
+<head>
+ <title>BOOST_PP_FRAME_ITERATION</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_FRAME_ITERATION</b> macro expands to the iteration value of an absolute <i>file-iteration</i> depth.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_FRAME_ITERATION</b>(<i>i</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>i</dt>
+ <dd>
+ The absolute depth of the frame whose iteration value is to be retreived.&nbsp;
+ Valid values range from <i>1</i> to <b>BOOST_PP_ITERATION_DEPTH</b>().
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro is only valid when a <i>file-iteration</i> is in progress.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/iteration/iterate.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+// file.h
+#if !BOOST_PP_IS_ITERATING
+
+ #ifndef FILE_H_
+ #define FILE_H_
+
+ #include &lt;boost/preprocessor/iteration/iterate.hpp&gt;
+
+ #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 10, "file.h"))
+ #include BOOST_PP_ITERATE()
+
+ #endif
+
+#elif BOOST_PP_ITERATION_DEPTH() == 1
+
+ --
+ #define BOOST_PP_ITERATION_PARAMS_2 \
+ (3, (1, BOOST_PP_ITERATION(), "file.h")) \
+ /**/
+
+ #include BOOST_PP_ITERATE()
+
+#else
+
+ outer: BOOST_PP_FRAME_ITERATION(1)
+ inner: BOOST_PP_FRAME_ITERATION(2)
+
+#endif
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/frame_start.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/frame_start.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,42 @@
+<html>
+<head>
+ <title>BOOST_PP_FRAME_START</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_FRAME_START</b> macro expands to the lower bound of an absolute <i>file-iteration</i> depth.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_FRAME_START</b>(<i>i</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>i</dt>
+ <dd>
+ The absolute depth of the frame whose lower bound is to be retreived.&nbsp;
+ Valid values range from <i>1</i> to <b>BOOST_PP_ITERATION_DEPTH</b>().
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro is only valid when a <i>file-iteration</i> is in progress.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/iteration/iterate.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/greater.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/greater.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,65 @@
+<html>
+<head>
+ <title>BOOST_PP_GREATER</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_GREATER</b> macro compares two values for greater magnitude.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_GREATER</b>(<i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The left operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is greater than <i>y</i>, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
+ There is no longer any such restriction.&nbsp;
+ It is more efficient, however, to use <b>BOOST_PP_GREATER_D</b> in such a situation.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_GREATER_D</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/comparison/greater.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/comparison/greater.hpp&gt;
+
+BOOST_PP_GREATER(4, 3) // expands to 1
+BOOST_PP_GREATER(5, 5) // expands to 0
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/greater_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/greater_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,69 @@
+<html>
+<head>
+ <title>BOOST_PP_GREATER_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_GREATER_D</b> macro compares two values for greater magnitude.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_GREATER_D</b>(<i>d</i>, <i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.&nbsp;
+ </dd>
+ <dt>x</dt>
+ <dd>
+ The left operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is greater than <i>y</i>, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_GREATER</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/comparison/greater.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/comparison/greater.hpp&gt;
+#include &lt;boost/preprocessor/list/filter.hpp&gt;
+
+#define LIST (1, (2, (3, (4, (5, BOOST_PP_NIL)))))
+
+#define PRED(d, _, num) BOOST_PP_GREATER_D(d, num, 2)
+
+BOOST_PP_LIST_FILTER(PRED, nil, LIST) // expands to (3, (4, (5, BOOST_PP_NIL)))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/greater_equal.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/greater_equal.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,65 @@
+<html>
+<head>
+ <title>BOOST_PP_GREATER_EQUAL</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_GREATER_EQUAL</b> macro compares two values for equality or greater magnitude.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_GREATER_EQUAL</b>(<i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The left operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is greater than or equal to <i>y</i>, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
+ There is no longer any such restriction.&nbsp;
+ It is more efficient, however, to use <b>BOOST_PP_GREATER_EQUAL_D</b> in such a situation.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_GREATER_EQUAL_D</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/comparison/greater_equal.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/comparison/greater_equal.hpp&gt;
+
+BOOST_PP_GREATER_EQUAL(4, 3) // expands to 1
+BOOST_PP_GREATER_EQUAL(5, 5) // expands to 1
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/greater_equal_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/greater_equal_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,69 @@
+<html>
+<head>
+ <title>BOOST_PP_GREATER_EQUAL_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_GREATER_EQUAL_D</b> macro compares two values for equality or greater magnitude.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_GREATER_EQUAL_D</b>(<i>d</i>, <i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.&nbsp;
+ </dd>
+ <dt>x</dt>
+ <dd>
+ The left operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is greater than or equal to <i>y</i>, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_GREATER_EQUAL</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/comparison/greater_equal.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/comparison/greater_equal.hpp&gt;
+#include &lt;boost/preprocessor/list/filter.hpp&gt;
+
+#define LIST (1, (2, (3, (4, (5, BOOST_PP_NIL)))))
+
+#define PRED(d, _, num) BOOST_PP_GREATER_EQUAL_D(d, num, 4)
+
+BOOST_PP_LIST_FILTER(PRED, nil, LIST) // expands to (4, (5, BOOST_PP_NIL))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/identity.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/identity.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,57 @@
+<html>
+<head>
+ <title>BOOST_PP_IDENTITY</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_IDENTITY</b> macro expands to its argument when invoked.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_IDENTITY</b>(<i>item</i>)()
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>item</dt>
+ <dd>
+ The result of the expansion.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro is designed to be used with <b>BOOST_PP_IF</b> and <b>BOOST_PP_IIF</b> when only one of the clauses needs to be invoked.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_IF</li>
+ <li>BOOST_PP_IIF</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/facilities/identity.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/control/if.hpp&gt;
+#include &lt;boost/preprocessor/facilities/empty.hpp&gt;
+#include &lt;boost/preprocessor/facilities/identity.hpp&gt;
+
+#define MACRO(n) BOOST_PP_IF(n, BOOST_PP_IDENTITY(x), BOOST_PP_EMPTY)()
+
+MACRO(0) // expands to nothing
+MACRO(1) // expands to x
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/if.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/if.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,63 @@
+<html>
+<head>
+ <title>BOOST_PP_IF</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_IF</b> macro chooses between to values based on a logical condition.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_IF</b>(<i>cond</i>, <i>t</i>, <i>f</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>cond</dt>
+ <dd>
+ The condition that determines if the result is <i>expr</i> or nothing.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>t</dt>
+ <dd>
+ The result of the expansion if <i>cond</i> is non-zero.
+ </dd>
+ <dt>f</dt>
+ <dd>
+ The result of the expansion if <i>cond</i> is <i>0</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro performs a boolean conversion on its first argument.&nbsp;
+ If that conversion is unnecessary, use <b>BOOST_PP_IIF</b> instead.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_IIF</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/control/if.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/control/if.hpp&gt;
+
+BOOST_PP_IF(10, a, b) // expands to a
+BOOST_PP_IF(0, a, b) // expands to b
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/iif.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/iif.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,66 @@
+<html>
+<head>
+ <title>BOOST_PP_IIF</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_IIF</b> macro chooses between to values based on a bitwise condition.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_IIF</b>(<i>bit</i>, <i>t</i>, <i>f</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>bit</dt>
+ <dd>
+ The condition that determines if the result is <i>expr</i> or nothing.&nbsp;
+ This value must expand to <i>0</i> or <i>1</i>.
+ </dd>
+ <dt>t</dt>
+ <dd>
+ The result of the expansion if <i>bit</i> is <i>1</i>.
+ </dd>
+ <dt>f</dt>
+ <dd>
+ The result of the expansion if <i>bit</i> is <i>0</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro <i>does not</i> perform a boolean conversion on its first argument.&nbsp;
+ If that conversion is necessary, use <b>BOOST_PP_IF</b> instead.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_IF</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/control/iif.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/control/iif.hpp&gt;
+#include &lt;boost/preprocessor/logical/or.hpp&gt;
+
+#define OR_IF(p, q, t, f) BOOST_PP_IIF(BOOST_PP_OR(p, q), t, f)
+
+OR_IF(1, 0, abc, xyz) // expands to abc
+OR_IF(0, 0, abc, xyz) // expands to xyz
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/inc.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/inc.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,54 @@
+<html>
+<head>
+ <title>BOOST_PP_INC</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_INC</b> macro expands to one more than its argument.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_INC</b>(<i>x</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The value to be incremented.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is <b>BOOST_PP_LIMIT_MAG</b>, the result is saturated to <b>BOOST_PP_LIMIT_MAG</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_DEC</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/arithmetic/inc.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/arithmetic/inc.hpp&gt;
+
+BOOST_PP_INC(BOOST_PP_INC(6)) // expands to 8
+BOOST_PP_INC(4) // expands to 5
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/include_self.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/include_self.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,101 @@
+<html>
+<head>
+ <title>BOOST_PP_INCLUDE_SELF</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_INCLUDE_SELF</b> macro includes a file indirectly.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>BOOST_PP_INCLUDE_SELF</b>()
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>filename</dt>
+ <dd>
+ A quoted or angle-bracketed filename to be included by <b>BOOST_PP_INCLUDE_SELF</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ <b>BOOST_PP_INDIRECT_SELF</b> must be defined prior to using this macro.
+ </div>
+ <div>
+ Most preprocessors will not allow a file to directly include itself--even when the file protects itself from such a scenario.&nbsp;
+ This macro, in combination with <b>BOOST_PP_INDIRECT_SELF</b> allows a file to include itself indirectly.
+ </div>
+ <div>
+ While <b>BOOST_PP_INDIRECT_SELF</b> is being included, <b>BOOST_PP_INCLUDE_SELF</b> defines the macro <b>BOOST_PP_IS_SELFISH</b> to <i>1</i>.&nbsp;
+ When it returns from the inclusion, <b>BOOST_PP_IS_SELFISH</b> is undefined.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_INDIRECT_SELF</li>
+ <li>BOOST_PP_IS_SELFISH</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/iteration/self.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+// file.h
+#if !BOOST_PP_IS_SELFISH
+
+ #ifndef FILE_H_
+ #define FILE_H_
+
+ #include &lt;boost/preprocessor/iteration/self.hpp&gt;
+
+ #define NAME X
+ struct NAME {
+ // ...
+ #define BOOST_PP_INDIRECT_SELF "file.h"
+ #include BOOST_PP_INCLUDE_SELF()
+ };
+
+ #define NAME Y
+ struct NAME {
+ // ...
+ #define BOOST_PP_INDIRECT_SELF "file.h"
+ #include BOOST_PP_INCLUDE_SELF()
+ };
+
+ #define NAME Z
+ struct NAME {
+ // ...
+ #define BOOST_PP_INDIRECT_SELF "file.h"
+ #include BOOST_PP_INCLUDE_SELF()
+ };
+
+ #endif
+
+#else
+
+ inline bool validate(NAME* p) {
+ return true;
+ }
+
+ template&lt;class T&gt; bool validate(T* p) {
+ return dynamic_cast&lt;NAME*&gt;(p);
+ }
+
+ #undef NAME
+
+#endif
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/indirect_self.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/indirect_self.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,45 @@
+<html>
+<head>
+ <title>BOOST_PP_INDIRECT_SELF</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_INDIRECT_SELF</b> macro is a user-defined <i>named external argument</i> used by <b>BOOST_PP_INCLUDE_SELF</b>.&nbsp;
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #define <b>BOOST_PP_INDIRECT_SELF</b> <i>filename</i>
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>filename</dt>
+ <dd>
+ A quoted or angle-bracketed filename to be included by <b>BOOST_PP_INCLUDE_SELF</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ Most preprocessors will not allow a file to directly include itself--even when the file protects itself from such a scenario.&nbsp;
+ This macro, in combination with <b>BOOST_PP_INCLUDE_SELF</b> allows a file to include itself indirectly.
+ </div>
+ <div>
+ This macro is automatically undefined for reuse by a call to <b>BOOST_PP_INCLUDE_SELF</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_INCLUDE_SELF</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/intercept.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/intercept.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,51 @@
+<html>
+<head>
+ <title>BOOST_PP_INTERCEPT</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_INTERCEPT</b> macro intercepts a numeric concatenation and expands to nothing.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_INTERCEPT</b>
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro is used to intercept concatenations performed by various other library constructs.&nbsp;
+ It is typically used after other text to prevent eat the concatenation expand to nothing.&nbsp;
+ This macro can only intercept integer constants in the range of <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/facilities/intercept.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/facilities/intercept.hpp&gt;
+#include &lt;boost/preprocessor/repetition/enum_binary_params.hpp&gt;
+
+BOOST_PP_ENUM_BINARY_PARAMS(3, class T, = U)
+// expands to class T0 = U0, class T1 = U1, class T2 = U2
+
+BOOST_PP_ENUM_BINARY_PARAMS(3, class T, = int BOOST_PP_INTERCEPT)
+// expands to class T0 = int, class T1 = int, class T2 = int
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/is_iterating.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/is_iterating.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,38 @@
+<html>
+<head>
+ <title>BOOST_PP_IS_ITERATING</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_IS_ITERATING</b> macro is defined when a <i>file-iteration</i> is in progress.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #if !defined(<b>BOOST_PP_IS_ITERATING</b>) // ...
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ If a <i>file-iteration</i> is in progress, this macro is defined as <i>1</i>.&nbsp;
+ This means that the following will also work:
+ <div>
+ #if !<b>BOOST_PP_IS_ITERATING</b> // ...
+ </div>
+ </div>
+ <div>
+ This macro is defined to guard a file from infinite inclusion.
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/is_selfish.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/is_selfish.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,38 @@
+<html>
+<head>
+ <title>BOOST_PP_IS_SELFISH</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_IS_SELFISH</b> macro is defined when a <i>self-inclusion</i> is in progress.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #if !defined(<b>BOOST_PP_IS_SELFISH</b>) // ...
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ If a <i>self-inclusion</i> is in progress, this macro is defined as <i>1</i>.&nbsp;
+ This means that the following will also work:
+ <div>
+ #if !<b>BOOST_PP_IS_SELFISH</b> // ...
+ </div>
+ </div>
+ <div>
+ This macro is defined to guard a file from infinite inclusion.
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/iterate.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/iterate.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,83 @@
+<html>
+<head>
+ <title>BOOST_PP_ITERATE</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ITERATE</b> macro initiates a <i>file-iteration</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #include <b>BOOST_PP_ITERATE</b>()
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ Arguments to this macro are passed as <i>external named arguments</i> in one of two
+ ways--either through <b>BOOST_PP_FILENAME_<i>x</i></b> and <b>BOOST_PP_ITERATION_LIMITS</b> <i>or</i>
+ through <b>BOOST_PP_ITERATION_PARAMS_<i>x</i></b>.&nbsp;
+ </div>
+ <div>
+ Three pieces of information are required to perform a <i>file-iteration</i>.&nbsp;
+ First, the name of a file to iterate over.&nbsp;
+ This is passed via <b>BOOST_PP_FILENAME_<i>x</i></b> <i>or</i> as part of <b>BOOST_PP_ITERATION_PARAMS_<i>x</i></b>.&nbsp;
+ The <i>file-iteration</i> mechanism will repeatedly include this file with iteration values ranging from a lower bound to an upper bound--the second and third <i>required</i> parameters.&nbsp;
+ These two boundaries are either passed through <b>BOOST_PP_ITERATION_LIMITS</b> <i>or</i> as part of <b>BOOST_PP_ITERATION_PARAMS_<i>x</i></b>.
+ </div>
+ <div>
+ Optionally, a fourth parameter may be passed that associates flags with an iteration.&nbsp;
+ These flags are primarily useful to distinguish one iteration from another in the same file.&nbsp;
+ This parameter can only be passed through <b>BOOST_PP_ITERATION_PARAMS_<i>x</i></b>.
+ </div>
+ <div>
+ While a <i>file-iteration</i> is in progress, <b>BOOST_PP_IS_ITERATING</b> is defined as <i>1</i>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_FILENAME_x</li>
+ <li>BOOST_PP_IS_ITERATING</li>
+ <li>BOOST_PP_ITERATION_LIMITS</li>
+ <li>BOOST_PP_ITERATION_PARAMS_x</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/iteration/iterate.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+// file.h
+#if !BOOST_PP_IS_ITERATING
+
+ #ifndef FILE_H_
+ #define FILE_H_
+
+ #include &lt;boost/preprocessor/iteration/iterate.hpp&gt;
+
+ #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 10, "file.h"))
+ #include BOOST_PP_ITERATE()
+
+ #define BOOST_PP_FILENAME_1 "file.h"
+ #define BOOST_PP_ITERATION_LIMITS (11, 20)
+ #include BOOST_PP_ITERATE()
+
+ #endif
+
+#else
+
+ current iteration value is BOOST_PP_ITERATION()
+
+#endif
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/iteration.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/iteration.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,55 @@
+<html>
+<head>
+ <title>BOOST_PP_ITERATION</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ITERATION</b> macro expands to the iteration value of the current <i>file-iteration</i> depth.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ITERATION</b>()
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro is only valid when a <i>file-iteration</i> is in progress.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/iteration/iterate.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+// file.h
+#if !BOOST_PP_IS_ITERATING
+
+ #ifndef FILE_H_
+ #define FILE_H_
+
+ #include &lt;boost/preprocessor/iteration/iterate.hpp&gt;
+
+ #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 3, "file.h"))
+ #include BOOST_PP_ITERATE()
+
+ #endif
+
+#elif BOOST_PP_ITERATION_DEPTH() == 1
+
+ value == BOOST_PP_ITERATION()
+
+#endif
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/iteration_depth.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/iteration_depth.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,73 @@
+<html>
+<head>
+ <title>BOOST_PP_ITERATION_DEPTH</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ITERATION_DEPTH</b> macro expands to the current <i>file-iteration</i> depth.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ITERATION_DEPTH</b>()
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ If a <i>file-iteration</i> is not in progress, this macro expands to <i>0</i>.&nbsp;
+ Otherwise, it expands to the current depth of <i>file-iteration</i>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_FRAME_ITERATION</li>
+ <li>BOOST_PP_RELATIVE_ITERATION</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/iteration/iterate.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+// file.h
+#if !BOOST_PP_IS_ITERATING
+
+ #ifndef FILE_H_
+ #define FILE_H_
+
+ #include &lt;boost/preprocessor/iteration/iterate.hpp&gt;
+
+ #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 3, "file.h"))
+ #include BOOST_PP_ITERATE()
+
+ #endif
+
+#elif BOOST_PP_ITERATION_DEPTH() == 1
+
+ + depth BOOST_PP_ITERATION_DEPTH()
+ // ...
+
+ #define BOOST_PP_ITERATION_PARAMS_2 \
+ (3, (1, BOOST_PP_ITERATION(), "file.h")) \
+ /**/
+
+ #include BOOST_PP_ITERATE()
+
+#elif BOOST_PP_ITERATION_DEPTH() == 2
+
+ - depth BOOST_PP_ITERATION_DEPTH()
+ // ...
+
+#endif
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/iteration_finish.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/iteration_finish.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,57 @@
+<html>
+<head>
+ <title>BOOST_PP_ITERATION_FINISH</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ITERATION_FINISH</b> macro expands to the upper bound of the current <i>file-iteration</i> depth.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ITERATION_FINISH</b>()
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro is only valid when a <i>file-iteration</i> is in progress.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/iteration/iterate.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+// file.h
+#if !BOOST_PP_IS_ITERATING
+
+ #ifndef FILE_H_
+ #define FILE_H_
+
+ #include &lt;boost/preprocessor/iteration/iterate.hpp&gt;
+
+ #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 10, "file.h"))
+ #include BOOST_PP_ITERATE()
+
+ #endif
+
+#elif BOOST_PP_ITERATION_DEPTH() == 1
+
+ start -> BOOST_PP_ITERATION_START()
+ iteration -> BOOST_PP_ITERATION()
+ finish -> BOOST_PP_ITERATION_FINISH()
+
+#endif
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/iteration_flags.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/iteration_flags.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,68 @@
+<html>
+<head>
+ <title>BOOST_PP_ITERATION_FLAGS</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ITERATION_FLAGS</b> macro retrieves flags associated with the current <i>file-iteration</i> depth.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ITERATION_FLAGS</b>()
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro is only valid when a <i>file-iteration</i> is in progress.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/iteration/iterate.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+// file.h
+#if !BOOST_PP_IS_ITERATING
+
+ #ifndef FILE_H_
+ #define FILE_H_
+
+ #include &lt;boost/preprocessor/iteration/iterate.hpp&gt;
+
+ // 1st iteration:
+ #define BOOST_PP_ITERATION_PARAMS_1 (4, (1, 10, "file.h", 0x0001))
+ #include BOOST_PP_ITERATE()
+
+ // 2nd iteration:
+ #define BOOST_PP_ITERATION_PARAMS_1 (4, (1, 10, "file.h", 0x0002))
+ #include BOOST_PP_ITERATE()
+
+ #endif
+
+#elif BOOST_PP_ITERATION_DEPTH() == 1 \
+ &amp;&amp; BOOST_PP_ITERATION_FLAGS() == 0x0001 \
+ /**/
+
+ { 1st }
+
+#elif BOOST_PP_ITERATION_DEPTH() == 1 \
+ &amp;&amp; BOOST_PP_ITERATION_FLAGS() == 0x0002 \
+ /**/
+
+ { 2nd }
+
+#endif
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/iteration_limits.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/iteration_limits.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,59 @@
+<html>
+<head>
+ <title>BOOST_PP_ITERATION_LIMITS</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ITERATION_LIMITS</b> macro is a user-defined <i>named external argument</i> used by <b>BOOST_PP_ITERATE</b>.&nbsp;
+ It denotes the lower and upper bounds of a <i>file-iteration</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #define <b>BOOST_PP_ITERATION_LIMITS</b> (<i>start</i>, <i>finish</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>start</dt>
+ <dd>
+ The lower bound (inclusive) of a <i>file-iteration</i>.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_ITERATION</b>.
+ </dd>
+ <dt>finish</dt>
+ <dd>
+ The upper bound (inclusive) of a <i>file-iteration</i>.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_ITERATION</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ Note that there is a whitespace character after the macro identifier.
+ </div>
+ <div>
+ This macro is part of the secondary method of passing arguments to <b>BOOST_PP_ITERATE</b>.&nbsp;
+ The other part is <b>BOOST_PP_FILENAME_<i>x</i></b>.&nbsp;Both <i>start</i> and <i>finish</i> are <i>evaluated parameters</i>.&nbsp;
+ This implies that they may include simple arithmetic.
+ </div>
+ <div>
+ This macro is automatically undefined for reuse by a call to <b>BOOST_PP_ITERATE</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_FILENAME_x</li>
+ <li>BOOST_PP_ITERATE</li>
+ <li>BOOST_PP_LIMIT_ITERATION</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/iteration_params_x.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/iteration_params_x.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,77 @@
+<html>
+<head>
+ <title>BOOST_PP_ITERATION_PARAMS_x</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ITERATION_PARAMS_<i>x</i></b> macro is a user-defined <i>named external argument</i> used by <b>BOOST_PP_ITERATE</b>.&nbsp;
+ It denotes the lower bound, upper bound, and the filename of a <i>file-iteration</i>.&nbsp;It can optionally denote flags associated with a <i>file-iteration</i> as well.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #define <b>BOOST_PP_ITERATION_PARAMS_<i>x</i></b> (<i>c</i>, (<i>start</i>, <i>finish</i>, <i>filename</i> [, <i>flags</i>]))
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The iteration depth of the next <i>file-iteration</i>.&nbsp;
+ This value <i>must</i> be the current iteration depth + <i>1</i>.
+ </dd>
+ <dt>c</dt>
+ <dd>
+ The number of parameters.&nbsp;
+ If <i>flags</i> is specified, this value must be <i>4</i>.&nbsp;
+ Otherwise, it must be <i>3</i>.
+ </dd>
+ <dt>start</dt>
+ <dd>
+ The lower bound (inclusive) of a <i>file-iteration</i>.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_ITERATION</b>.
+ </dd>
+ <dt>finish</dt>
+ <dd>
+ The upper bound (inclusive) of a <i>file-iteration</i>.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_ITERATION</b>.
+ </dd>
+ <dt>filename</dt>
+ <dd>
+ A quoted or angle-bracketed filename to used as the target of a <i>file-iteration</i>.
+ </dd>
+ <dt>[flags]</dt>
+ <dd>
+ The flags associated with this <i>file-iteration</i> used to discriminate between different <i>file-iterations</i> in the same file.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ Note that there is a whitespace character after the macro identifier.
+ </div>
+ <div>
+ This macro is must be defined as an <i>array</i> of arguments in one of the two formats above (with or without <i>flags</i>).
+ It is the primary method of passing arguments to <b>BOOST_PP_ITERATE</b>.&nbsp;
+ Both <i>start</i> and <i>finish</i> are <i>evaluated parameters</i>, which implies that simple arithmetic can be used.
+ </div>
+ <div>
+ This macro is automatically undefined for reuse by a call to <b>BOOST_PP_ITERATE</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_ITERATE</li>
+ <li>BOOST_PP_LIMIT_ITERATION</li>
+ </ul>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/iteration_start.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/iteration_start.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,57 @@
+<html>
+<head>
+ <title>BOOST_PP_ITERATION_START</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_ITERATION_START</b> macro expands to the lower bound of the current <i>file-iteration</i> depth.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_ITERATION_START</b>()
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro is only valid when a <i>file-iteration</i> is in progress.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/iteration/iterate.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+// file.h
+#if !BOOST_PP_IS_ITERATING
+
+ #ifndef FILE_H_
+ #define FILE_H_
+
+ #include &lt;boost/preprocessor/iteration/iterate.hpp&gt;
+
+ #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 10, "file.h"))
+ #include BOOST_PP_ITERATE()
+
+ #endif
+
+#elif BOOST_PP_ITERATION_DEPTH() == 1
+
+ start -> BOOST_PP_ITERATION_START()
+ iteration -> BOOST_PP_ITERATION()
+ finish -> BOOST_PP_ITERATION_FINISH()
+
+#endif
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/less.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/less.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,65 @@
+<html>
+<head>
+ <title>BOOST_PP_LESS</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LESS</b> macro compares two values for lesser magnitude.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LESS</b>(<i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The left operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is less than <i>y</i>, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
+ There is no longer any such restriction.&nbsp;
+ It is more efficient, however, to use <b>BOOST_PP_LESS_D</b> in such a situation.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LESS_D</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/comparison/less.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/comparison/less.hpp&gt;
+
+BOOST_PP_LESS(4, 3) // expands to 0
+BOOST_PP_LESS(3, 4) // expands to 1
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/less_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/less_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,70 @@
+<html>
+<head>
+ <title>BOOST_PP_LESS_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LESS_D</b> macro compares two values for lesser magnitude.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LESS_D</b>(<i>d</i>, <i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.&nbsp;
+ </dd>
+ <dt>x</dt>
+ <dd>
+ The left operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is less than <i>y</i>, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LESS</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/comparison/less.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/comparison/less.hpp&gt;
+#include &lt;boost/preprocessor/list/filter.hpp&gt;
+
+#define LIST (1, (2, (3, (4, (5, BOOST_PP_NIL)))))
+
+#define PRED(d, _, num) BOOST_PP_LESS_D(d, num, 3)
+
+BOOST_PP_LIST_FILTER(PRED, nil, LIST)
+ // expands to (1, (2, BOOST_PP_NIL))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/less_equal.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/less_equal.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,65 @@
+<html>
+<head>
+ <title>BOOST_PP_LESS_EQUAL</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LESS_EQUAL</b> macro compares two values for equality or lesser magnitude.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LESS_EQUAL</b>(<i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>x</dt>
+ <dd>
+ The left operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is lesser than or equal to <i>y</i>, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
+ There is no longer any such restriction.&nbsp;
+ It is more efficient, however, to use <b>BOOST_PP_LESS_EQUAL_D</b> in such a situation.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LESS_EQUAL_D</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/comparison/less_equal.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/comparison/less_equal.hpp&gt;
+
+BOOST_PP_LESS_EQUAL(4, 3) // expands to 0
+BOOST_PP_LESS_EQUAL(5, 5) // expands to 1
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/less_equal_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/less_equal_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,70 @@
+<html>
+<head>
+ <title>BOOST_PP_LESS_EQUAL_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LESS_EQUAL_D</b> macro compares two values for equality or lesser magnitude.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LESS_EQUAL_D</b>(<i>d</i>, <i>x</i>, <i>y</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.&nbsp;
+ </dd>
+ <dt>x</dt>
+ <dd>
+ The left operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ <dt>y</dt>
+ <dd>
+ The right operand of the comparison.&nbsp;
+ Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>x</i> is less than or equal to <i>y</i>, this macro expands to <i>1</i>.&nbsp;
+ Otherwise, it expands to <i>0</i>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LESS_EQUAL</li>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/comparison/less_equal.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/comparison/less_equal.hpp&gt;
+#include &lt;boost/preprocessor/list/filter.hpp&gt;
+
+#define LIST (1, (2, (3, (4, (5, BOOST_PP_NIL)))))
+
+#define PRED(d, _, num) BOOST_PP_LESS_EQUAL_D(d, num, 4)
+
+BOOST_PP_LIST_FILTER(PRED, nil, LIST)
+ // expands to (1, (2, (3, (4, BOOST_PP_NIL))))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/limit_dim.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/limit_dim.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,35 @@
+<html>
+<head>
+ <title>BOOST_PP_LIMIT_DIM</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIMIT_DIM</b> macro defines the maximum number of available <b>BOOST_PP_REPEAT</b> dimensions.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIMIT_DIM</b>
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro currently expands to <i>3</i>.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/config/limits.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/limit_for.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/limit_for.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>BOOST_PP_LIMIT_FOR</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIMIT_FOR</b> macro defines the maximum number of <b>BOOST_PP_FOR</b> repetitions.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIMIT_FOR</b>
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro currently expands to <i>256</i>.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/config/limits.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/limit_iteration.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/limit_iteration.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>BOOST_PP_LIMIT_ITERATION</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIMIT_ITERATION</b> macro defines the maximum number of <i>local</i> and <i>file</i> iterations.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIMIT_ITERATION</b>
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro currently expands to <i>256</i>.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/config/limits.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/limit_iteration_dim.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/limit_iteration_dim.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>BOOST_PP_LIMIT_ITERATION_DIM</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIMIT_ITERATION_DIM</b> macro defines the maximum depth of <i>file-iteration</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIMIT_ITERATION_DIM</b>
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro currently expands to <i>3</i>.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/config/limits.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/limit_mag.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/limit_mag.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>BOOST_PP_LIMIT_MAG</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIMIT_MAG</b> macro defines the maximum input and result magnitudes of arithmetic.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIMIT_MAG</b>
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro currently expands to <i>256</i>.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/config/limits.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/limit_repeat.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/limit_repeat.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>BOOST_PP_LIMIT_REPEAT</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIMIT_REPEAT</b> macro defines the maximum number of repetitions supported by each <b>BOOST_PP_REPEAT</b> dimension.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIMIT_REPEAT</b>
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro current expands to <i>256</i>.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/config/limits.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/limit_seq.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/limit_seq.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,41 @@
+<html>
+ <head>
+ <title>BOOST_PP_LIMIT_SEQ</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+ </head>
+ <body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIMIT_SEQ</b> macro defines the maximum <i>seq</i> size
+ supported by the library.
+ </div>
+ <h4>
+ Usage
+ </h4>
+ <div class="code">
+ <b>BOOST_PP_LIMIT_SEQ</b>
+ </div>
+ <h4>
+ Remarks
+ </h4>
+ <div>
+ This macro currently expands to <i>256</i>.
+ </div>
+ <h4>
+ Requirements
+ </h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/config/limits.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+ </body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/limit_slot_count.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/limit_slot_count.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>BOOST_PP_LIMIT_SLOT_COUNT</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIMIT_SLOT_COUNT</b> macro defines the number of available <i>evaluated slots</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIMIT_SLOT_COUNT</b>
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro currently expands to <i>5</i>.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/config/limits.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/limit_slot_sig.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/limit_slot_sig.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>BOOST_PP_LIMIT_SLOT_SIG</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIMIT_SLOT_SIG</b> macro defines the number of significant base-10 digits that can be evaluated by the <i>slot</i> mechanism.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIMIT_SLOT_SIG</b>
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro currently expands to <i>10</i>.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/config/limits.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/limit_tuple.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/limit_tuple.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,33 @@
+<html>
+<head>
+ <title>BOOST_PP_LIMIT_TUPLE</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIMIT_TUPLE</b> macro defines the maximum <i>tuple</i> size supported by the library.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIMIT_TUPLE</b>
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro currently expands to <i>64</i>.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/config/limits.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ <br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+ </div>
+</body>
+</html>
\ No newline at end of file

Added: branches/pplib/v2/libs/preprocessor/doc/ref/limit_variadic.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/limit_variadic.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,24 @@
+<html>
+<head>
+ <title>BOOST_PP_LIMIT_VARIADIC</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+<div style="margin-left: 0px;"> The <b>BOOST_PP_LIMIT_VARIADIC</b> macro
+defines the maximum <i>variadic data</i> size&nbsp;supported by the library. </div>
+<h4>Usage</h4>
+<div class="code"> <b>BOOST_PP_LIMIT_VARIADIC</b> </div>
+<h4>Remarks</h4>
+<div> This macro currently expands to <i>64</i>. </div>
+<h4>Requirements</h4>
+<div> <b>Header:</b> &nbsp;<boost/preprocessor/config/limits.hpp>
+</div>
+<hr size="1">
+<div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i> </div>
+<div style="margin-left: 0px;">
+<p><small>Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt
+or copy at www.boost.org/LICENSE_1_0.txt)</small></p>
+</div>
+</body>
+</html>
\ No newline at end of file

Added: branches/pplib/v2/libs/preprocessor/doc/ref/limit_while.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/limit_while.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,34 @@
+<html>
+<head>
+ <title>BOOST_PP_LIMIT_WHILE</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIMIT_WHILE</b> macro defines the maximum number of <b>BOOST_PP_WHILE</b> iterations.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIMIT_WHILE</b>
+ </div>
+ <h4>Remarks</h4>
+ <div>
+ This macro currently expands to <i>256</i>.
+ </div>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/config/limits.hpp>
+ </div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/line.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/line.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,112 @@
+<html>
+<head>
+ <title>BOOST_PP_LINE</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LINE</b> macro places notes encoded as line directives in the preprocessing output.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ #line <b>BOOST_PP_LINE</b>(<i>line</i>, <i>file</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>line</dt>
+ <dd>
+ The new line number of the trailing line.&nbsp;
+ The predefined macro <i>__LINE__</i> is commonly used.
+ </dd>
+ <dt>file</dt>
+ <dd>
+ Typically the name of the current file.&nbsp;
+ However, any informative text will work.&nbsp;
+ This text is internally stringized, so quotation marks are unnecessary.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If the macro <b>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</b> is defined as <i>1</i> and a <i>file-iteration</i>
+ is in progress, this macro will automatically insert debugging information about the state of <i>file-iteration</i>.&nbsp;
+ This information will show the all of the current iteration values with the inner most iteration last.
+ </div>
+ <div>
+ This information is useful when errors might be spanning multiple iterations of the same source text.&nbsp;
+ Finding any errors is sometimes less than straightforward.&nbsp;
+ Use of this macro can provide information to make this much easier.&nbsp;
+ For example, instead of getting several errors like this:
+ <div><i>
+ "file.hpp", line 2: error: expected a ";"<br>
+ "file.hpp", line 4: error: improperly terminated macro invocation<br>
+ </i></div>
+ You might get something like this instead....
+ <i><div>
+ "file.hpp [1]", line 2: error: expected a ";"<br>
+ "file.hpp [5]", line 4: error: improperly terminated macro invocation<br>
+ </i></div>
+ It is immediately evident that this error is spanning multiple iterations of the same source text.&nbsp;
+ If it wasn't, the same errors would occur on each iteration.
+ </div>
+ <div>
+ It must be noted however, that some compilers don't like filenames that aren't actually files.&nbsp;
+ Those compilers typically issues warnings about the bad filename.&nbsp;
+ This makes it a good idea to only define <b>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</b> to <i>1</i> <i>only</i> when debugging.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_CONFIG_EXTENDED_LINE_INFO</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/debug/line.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+// sample.cpp
+#if !defined(BOOST_PP_IS_ITERATING)
+
+ #define BOOST_PP_CONFIG_EXTENDED_LINE_INFO 1
+
+ #include &lt;boost/preprocessor/arithmetic/dec.hpp&gt;
+ #include &lt;boost/preprocessor/cat.hpp&gt;
+ #include &lt;boost/preprocessor/debug/line.hpp&gt;
+ #include &lt;boost/preprocessor/iteration/iterate.hpp&gt;
+
+ namespace sample {
+
+ #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 5, "sample.cpp"))
+ #include BOOST_PP_ITERATE()
+
+ } // sample
+
+ int main(void) {
+ return 0;
+ }
+
+#else
+
+ #line BOOST_PP_LINE(1, sample.cpp)
+
+ int BOOST_PP_CAT(x, BOOST_PP_ITERATION())); // extra parenthesis
+
+ struct BOOST_PP_CAT(s, BOOST_PP_DEC(BOOST_PP_ITERATION()) {
+ // missing a parenthesis
+ // ...
+ };
+
+#endif
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_append.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_append.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,69 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_APPEND</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_APPEND</b> macro appends two <i>lists</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_APPEND</b>(<i>a</i>, <i>b</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>a</dt>
+ <dd>
+ The first <i>list</i>.
+ </dd>
+ <dt>b</dt>
+ <dd>
+ The second <i>list</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro appends two lists.&nbsp;
+ For example, if <i>a</i> is (<i>1</i>, (<i>2</i>, (<i>3</i>, <b>BOOST_PP_NIL</b>))) and <i>b</i> is (<i>4</i>, (<i>5</i>, <b>BOOST_PP_NIL</b>)),
+ this macro will expand to:
+ <div>
+ (<i>1</i>, (<i>2</i>, (<i>3</i>, (<i>4</i>, (<i>5</i>, <b>BOOST_PP_NIL</b>)))))
+ </div>
+ </div>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
+ There is no longer any such restriction.&nbsp;
+ It is more efficient, however, to use <b>BOOST_PP_LIST_APPEND_D</b> in such a situation.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_APPEND_D</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/append.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/list/append.hpp&gt;
+
+#define L1 (a, (b, (c, BOOST_PP_NIL)))
+#define L2 (x, (y, (z, BOOST_PP_NIL)))
+
+BOOST_PP_LIST_APPEND(L1, L2)
+ // expands to (a, (b, (c, (x, (y, (z, BOOST_PP_NIL))))))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_append_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_append_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,96 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_APPEND_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_APPEND_D</b> macro appends two <i>lists</i>.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_APPEND_D</b>(<i>d</i>, <i>a</i>, <i>b</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.
+ </dd>
+ <dt>a</dt>
+ <dd>
+ The first <i>list</i>.
+ </dd>
+ <dt>b</dt>
+ <dd>
+ The second <i>list</i>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro appends two lists.&nbsp;
+ For example, if <i>a</i> is (<i>1</i>, (<i>2</i>, (<i>3</i>, <b>BOOST_PP_NIL</b>))) and <i>b</i> is (<i>4</i>, (<i>5</i>, <b>BOOST_PP_NIL</b>)),
+ this macro will expand to:
+ <div>
+ (<i>1</i>, (<i>2</i>, (<i>3</i>, (<i>4</i>, (<i>5</i>, <b>BOOST_PP_NIL</b>)))))
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_APPEND</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/append.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/arithmetic/dec.hpp&gt;
+#include &lt;boost/preprocessor/control/while.hpp&gt;
+#include &lt;boost/preprocessor/list/append.hpp&gt;
+#include &lt;boost/preprocessor/tuple/elem.hpp&gt;
+
+#define LIST (1, (2, (3, BOOST_PP_NIL)))
+
+#define PRED(d, state) BOOST_PP_TUPLE_ELEM(3, 1, state)
+
+#define OP(d, state) \
+ ( \
+ BOOST_PP_LIST_APPEND_D( \
+ d, BOOST_PP_TUPLE_ELEM(3, 0, state), \
+ BOOST_PP_TUPLE_ELEM(3, 2, state) \
+ ), \
+ BOOST_PP_DEC( \
+ BOOST_PP_TUPLE_ELEM(3, 1, state) \
+ ), \
+ BOOST_PP_TUPLE_ELEM(3, 2, state) \
+ ) \
+ /**/
+
+#define LIST_MULTIPLY(c, list) \
+ BOOST_PP_TUPLE_ELEM( \
+ 3, 0, \
+ BOOST_PP_WHILE( \
+ PRED, OP, \
+ (BOOST_PP_NIL, c, list) \
+ ) \
+ ) \
+ /**/
+
+LIST_MULTIPLY(3, LIST)
+ // expands to (1, (2, (3, (1, (2, (3, (1, (2, (3, BOOST_PP_NIL)))))))))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_at.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_at.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,61 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_AT</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_AT</b> macro extracts an element in a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_AT</b>(<i>list</i>, <i>index</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> from which a element is to be extracted.&nbsp;
+ This <i>list</i> must have at least <i>index</i> + <i>1</i> elements.
+ </dd>
+ <dt>index</dt>
+ <dd>
+ The zero-based position in the <i>list</i> of the element to be extracted.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
+ There is no longer any such restriction.&nbsp;
+ It is more efficient, however, to use <b>BOOST_PP_LIST_AT_D</b> in such a situation.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_AT_D</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/at.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/list/at.hpp&gt;
+
+#define LIST (a, (b, (c, BOOST_PP_NIL)))
+
+BOOST_PP_LIST_AT(LIST, 0) // expands to a
+BOOST_PP_LIST_AT(LIST, 2) // expands to c
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_at_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_at_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,63 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_AT_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_AT_D</b> macro extracts an element in a <i>list</i>.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_AT_D</b>(<i>d</i>, <i>list</i>, <i>index</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.
+ </dd>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> from which a element is to be extracted.&nbsp;
+ This <i>list</i> must have at least <i>index</i> + <i>1</i> elements.
+ </dd>
+ <dt>index</dt>
+ <dd>
+ The zero-based position in the <i>list</i> of the element to be extracted.
+ </dd>
+ </dl>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_AT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/at.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/control/while.hpp&gt;
+#include &lt;boost/preprocessor/list/at.hpp&gt;
+
+#define LIST (7, (2, (0, (1, BOOST_PP_NIL))))
+
+#define PRED(d, state) BOOST_PP_LIST_AT_D(d, state, 0)
+#define OP(d, state) BOOST_PP_LIST_REST(state)
+
+BOOST_PP_WHILE(PRED, OP, LIST) // expands to (0, (1, BOOST_PP_NIL))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_cat.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_cat.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,58 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_CAT</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_CAT</b> macro concatenates all elements in a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_CAT</b>(<i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> whose elements are to be concatenated.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ Elements are concatenated left-to-right starting with index <i>0</i>.
+ </div>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
+ There is no longer any such restriction.&nbsp;
+ It is more efficient, however, to use <b>BOOST_PP_LIST_CAT_D</b> in such a situation.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_CAT_D</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/cat.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/list/cat.hpp&gt;
+
+#define LIST (a, (b, (c, BOOST_PP_NIL)))
+
+BOOST_PP_LIST_CAT(LIST) // expands to abc
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_cat_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_cat_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,67 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_CAT_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_CAT_D</b> macro concatenates all elements in a <i>list</i>.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_CAT_D</b>(<i>d</i>, <i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.
+ </dd>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> whose elements are to be concatenated.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ Elements are concatenated left-to-right starting with index <i>0</i>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_CAT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/cat.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/cat.hpp&gt;
+#include &lt;boost/preprocessor/list/cat.hpp&gt;
+#include &lt;boost/preprocessor/list/fold_left.hpp&gt;
+
+#define LISTS \
+ ((a, (b, BOOST_PP_NIL)), \
+ ((c, (d, BOOST_PP_NIL)), \
+ ((e, (f, BOOST_PP_NIL)), \
+ BOOST_PP_NIL))) \
+ /**/
+
+#define OP(d, state, x) BOOST_PP_CAT(state, BOOST_PP_LIST_CAT_D(d, x))
+
+BOOST_PP_LIST_FOLD_LEFT(OP, _, LISTS) // expands to _abcdef
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_cons.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_cons.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,87 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_CONS</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_CONS</b> macro is a <i>list</i> constructor.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_CONS</b>(<i>head</i>, <i>tail</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>head</dt>
+ <dd>
+ An element in a <i>list</i>.
+ </dd>
+ <dt>tail</dt>
+ <dd>
+ Either a <i>list</i>, <b>BOOST_PP_LIST_NIL</b>, or <b>BOOST_PP_NIL</b>.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro appends a new head to an existing <i>list</i> or creates a <i>list</i> from <b>BOOST_PP_LIST_NIL</b>.
+ </div>
+ <div>
+ This macro is no longer necessary.&nbsp;
+ For example...
+ <div>
+ <b>BOOST_PP_LIST_CONS</b>(a, <b>BOOST_PP_LIST_CONS</b>(b, <b>BOOST_PP_LIST_NIL</b>)))
+ </div>
+ ...is just an explicit way of writing the following:
+ <div>
+ (a, (b, <b>BOOST_PP_NIL</b>))
+ </div>
+ Because of this, this macro is deprecated.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_NIL</li>
+ <li>BOOST_PP_NIL</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/adt.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/list/adt.hpp&gt;
+
+#define OLD \
+ BOOST_PP_LIST_CONS( \
+ a, \
+ BOOST_PP_LIST_CONS( \
+ b, \
+ BOOST_PP_LIST_CONS( \
+ c, \
+ BOOST_PP_LIST_NIL \
+ ) \
+ ) \
+ ) \
+ /**/
+
+#define NEW (a, (b, (c, BOOST_PP_NIL)))
+
+BOOST_PP_LIST_FIRST(OLD) == BOOST_PP_LIST_FIRST(NEW)
+ // expands to a == a
+
+BOOST_PP_LIST_REST(OLD) == BOOST_PP_LIST_REST(NEW)
+ // expands to (b, (c, BOOST_PP_NIL)) == (b, (c, BOOST_PP_NIL))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_enum.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_enum.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,62 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_ENUM</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_ENUM</b> macro converts a <i>list</i> to a comma-separated list.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_ENUM</b>(<i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> to be converted.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>list</i> is, for example, (<i>a</i>, (<i>b</i>, (<i>c</i>, <b>BOOST_PP_NIL</b>))),
+ this macro will produce:
+ <div>
+ <i>a</i>, <i>b</i>, <i>c</i>
+ </div>
+ </div>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_FOR</b>.&nbsp;
+ There is no longer any such restriction.&nbsp;
+ It is more efficient, however, to use <b>BOOST_PP_LIST_ENUM_R</b> in such a situation.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_ENUM_R</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/enum.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/list/enum.hpp&gt;
+
+#define LIST (w, (x, (y, (z, BOOST_PP_NIL))))
+
+BOOST_PP_LIST_ENUM(LIST) // expands to w, x, y, z
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_enum_r.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_enum_r.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,69 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_ENUM_R</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_ENUM_R</b> macro converts a <i>list</i> to a comma-separated list.&nbsp;
+ It reenters <b>BOOST_PP_FOR</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_ENUM_R</b>(<i>r</i>, <i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>r</dt>
+ <dd>
+ The next available <b>BOOST_PP_FOR</b> repetition.
+ </dd>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> to be converted.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ If <i>list</i> is, for example, (<i>a</i>, (<i>b</i>, (<i>c</i>, <b>BOOST_PP_NIL</b>))),
+ this macro will produce:
+ <div>
+ <i>a</i>, <i>b</i>, <i>c</i>
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_ENUM</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/enum.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/list/adt.hpp&gt;
+#include &lt;boost/preprocessor/repetition/for.hpp&gt;
+#include &lt;boost/preprocessor/list/enum.hpp&gt;
+
+#define LIST (x, (y, (z, BOOST_PP_NIL)))
+
+#define PRED(r, state) BOOST_PP_LIST_IS_CONS(state)
+#define OP(r, state) BOOST_PP_LIST_REST(state)
+#define MACRO(r, state) [ BOOST_PP_LIST_ENUM_R(r, state) ]
+
+BOOST_PP_FOR(LIST, PRED, OP, MACRO)
+ // expands to [x, y, z] [y, z] [z]
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_filter.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_filter.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,76 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_FILTER</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_FILTER</b> macro filters a <i>list</i> according to a supplied criterion.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_FILTER</b>(<i>pred</i>, <i>data</i>, <i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>pred</dt>
+ <dd>
+ A ternary predicate of the form <i>pred</i>(<i>d</i>, <i>data</i>, <i>elem</i>).&nbsp;
+ This predicate is expanded by <b>BOOST_PP_LIST_FILTER</b> for each element in <i>list</i> with the next available <b>BOOST_PP_WHILE</b> iteration,
+ the auxiliary <i>data</i>, and the current element in <i>list</i>.&nbsp;
+ This macro must return a integral value in the range of <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.&nbsp;
+ If this predicate expands to non-zero for a certain element, that element is included in the resulting <i>list</i>.
+ </dd>
+ <dt>data</dt>
+ <dd>
+ Auxiliary data passed to <i>pred</i>.
+ </dd>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> to be filtered.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands <i>pred</i> for each element in <i>list</i>.&nbsp;
+ It builds a new <i>list</i> out of each element for which <i>pred</i> returns non-zero.
+ </div>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
+ There is no longer any such restriction.&nbsp;
+ It is more efficient, however, to use <b>BOOST_PP_LIST_FILTER_D</b> in such a situation.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ <li>BOOST_PP_LIST_FILTER_D</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/filter.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/comparison/less_equal.hpp&gt;
+#include &lt;boost/preprocessor/list/filter.hpp&gt;
+
+#define LIST (1, (3, (2, (5, BOOST_PP_NIL))))
+
+#define PRED(d, data, elem) BOOST_PP_LESS_EQUAL(elem, data)
+
+BOOST_PP_LIST_FILTER(PRED, 3, LIST)
+ // expands to (1, (3, (2, BOOST_PP_NIL)))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_filter_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_filter_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,86 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_FILTER_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_FILTER_D</b> macro filters a <i>list</i> according to a supplied criterion.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_FILTER_D</b>(<i>d</i>, <i>pred</i>, <i>data</i>, <i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.
+ </dd>
+ <dt>pred</dt>
+ <dd>
+ A ternary predicate of the form <i>pred</i>(<i>d</i>, <i>data</i>, <i>elem</i>).&nbsp;
+ This predicate is expanded by <b>BOOST_PP_LIST_FILTER</b> for each element in <i>list</i> with the next available <b>BOOST_PP_WHILE</b> iteration,
+ the auxiliary <i>data</i>, and the current element in <i>list</i>.&nbsp;
+ This macro must return a integral value in the range of <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.&nbsp;
+ If this predicate expands to non-zero for a certain element, that element is included in the resulting <i>list</i>.
+ </dd>
+ <dt>data</dt>
+ <dd>
+ Auxiliary data passed to <i>pred</i>.
+ </dd>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> to be filtered.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro expands <i>pred</i> for each element in <i>list</i>.&nbsp;
+ It builds a new <i>list</i> out of each element for which <i>pred</i> returns non-zero.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIMIT_MAG</li>
+ <li>BOOST_PP_LIST_FILTER</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/filter.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/comparison/less_equal.hpp&gt;
+#include &lt;boost/preprocessor/list/filter.hpp&gt;
+#include &lt;boost/preprocessor/list/fold_right.hpp&gt;
+
+#define A (1, (2, (3, (4, BOOST_PP_NIL))))
+#define B (A, (A, (A, (A, BOOST_PP_NIL))))
+
+#define PRED(d, data, x) BOOST_PP_LESS_EQUAL(x, data)
+#define OP(d, state, x) (BOOST_PP_LIST_FILTER_D(d, PRED, 2, x), state)
+
+BOOST_PP_LIST_FOLD_RIGHT(OP, BOOST_PP_NIL, B)
+/*
+ expands to:
+ ((1, (2, BOOST_PP_NIL)),
+ ((1, (2, BOOST_PP_NIL)),
+ ((1, (2, BOOST_PP_NIL)),
+ ((1, (2, BOOST_PP_NIL)),
+ BOOST_PP_NIL))))
+*/
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_first.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_first.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,62 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_FIRST</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_FIRST</b> macro expands to the head of a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_FIRST</b>(<i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>list</dt>
+ <dd>
+ A non-nil <i>list</i>.
+ </dd>
+ </dl>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/adt.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/list/adt.hpp&gt;
+
+#define OLD \
+ BOOST_PP_LIST_CONS( \
+ a, \
+ BOOST_PP_LIST_CONS( \
+ b, \
+ BOOST_PP_LIST_CONS( \
+ c, \
+ BOOST_PP_LIST_NIL \
+ ) \
+ ) \
+ ) \
+ /**/
+
+#define NEW (a, (b, (c, BOOST_PP_NIL)))
+
+BOOST_PP_LIST_FIRST(OLD) == BOOST_PP_LIST_FIRST(NEW)
+ // expands to a == a
+
+BOOST_PP_LIST_REST(OLD) == BOOST_PP_LIST_REST(NEW)
+ // expands to (b, (c, BOOST_PP_NIL)) == (b, (c, BOOST_PP_NIL))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_first_n.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_first_n.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,62 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_FIRST_N</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_FIRST_N</b> macro expands to a <i>list</i> of the first <i>count</i> elements of a <i>list</i>.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_FIRST_N</b>(<i>count</i>, <i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>count</dt>
+ <dd>
+ The number of elements to extract.
+ </dd>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> from which the elements are extracted.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro extracts <i>count</i> elements from the beginning of <i>list</i> and returns them as a <i>list</i>
+ </div>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
+ There is no longer any such restriction.&nbsp;
+ It is more efficient, however, to use <b>BOOST_PP_LIST_FIRST_N_D</b> in such a situation.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FIRST_N_D</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/first_n.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/list/first_n.hpp&gt;
+
+#define LIST (a, (b, (c, BOOST_PP_NIL)))
+
+BOOST_PP_LIST_FIRST_N(2, LIST) // expands to (a, (b, BOOST_PP_NIL))
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_first_n_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_first_n_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,71 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_FIRST_N_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_FIRST_N_D</b> macro expands to a <i>list</i> of the first <i>count</i> elements of a <i>list</i>.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_FIRST_N_D</b>(<i>d</i>, <i>count</i>, <i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.
+ </dd>
+ <dt>count</dt>
+ <dd>
+ The number of elements to extract.
+ </dd>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> from which the elements are extracted.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ This macro extracts <i>count</i> elements from the beginning of <i>list</i> and returns them as a <i>list</i>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FIRST_N</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/first_n.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/list/first_n.hpp&gt;
+#include &lt;boost/preprocessor/list/fold_right.hpp&gt;
+
+#define L1 (a, (b, (c, (d, BOOST_PP_NIL))))
+#define L2 (L1, (L1, (L1, BOOST_PP_NIL)))
+
+#define OP(d, state, x) (BOOST_PP_LIST_FIRST_N_D(d, 2, x), state)
+
+BOOST_PP_LIST_FOLD_RIGHT(OP, BOOST_PP_NIL, L2)
+/*
+ expands to...
+ ((a, (b, BOOST_PP_NIL)), ((a, (b, BOOST_PP_NIL)),
+ ((a, (b, BOOST_PP_NIL)) , BOOST_PP_NIL )))
+*/
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,75 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_FOLD_LEFT</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_FOLD_LEFT</b> macro folds (or accumulates) the elements of a <i>list</i> left-to-right.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_FOLD_LEFT</b>(<i>op</i>, <i>state</i>, <i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>op</dt>
+ <dd>
+ A ternary operation of the form <i>op</i>(<i>d</i>, <i>state</i>, <i>elem</i>).&nbsp;
+ This macro is called for each element in <i>list</i>--each time returning a new <i>state</i>.&nbsp;
+ This operation is expanded by <b>BOOST_PP_LIST_FOLD_LEFT</b> with the next available <b>BOOST_PP_WHILE</b> iteration,
+ the current <i>state</i>, and the current element.
+ </dd>
+ <dt>state</dt>
+ <dd>
+ The initial state of the fold.
+ </dd>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> to be folded.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ For the <i>list</i>, (<i>0</i>, (<i>1</i>, (<i>2</i>, <b>BOOST_PP_NIL</b>))), this macro expands to:
+ <div>
+ <i>op</i>(<i>d</i>, <i>op</i>(<i>d</i>, <i>op</i>(<i>d</i>, <i>state</i>, <i>0</i>), <i>1</i>), <i>2</i>)
+ </div>
+ </div>
+ <div>
+ Previously, this macro could not be used inside <b>BOOST_PP_WHILE</b>.&nbsp;
+ There is no longer any such restriction.&nbsp;
+ It is more efficient, however, to use <b>BOOST_PP_LIST_FOLD_LEFT_<i>d</i></b> in such a situation.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FOLD_LEFT_d</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/fold_left.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/cat.hpp&gt;
+#include &lt;boost/preprocessor/list/fold_left.hpp&gt;
+
+#define LIST (a, (b, (c, BOOST_PP_NIL)))
+
+#define OP(d, state, x) BOOST_PP_CAT(state, x)
+
+BOOST_PP_LIST_FOLD_LEFT(OP, _, LIST) // expands to _abc
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left_2nd.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left_2nd.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,75 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_FOLD_LEFT_2ND</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_FOLD_LEFT_2ND</b> macro folds (or accumulates) the elements of a <i>list</i> left-to-right.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_FOLD_LEFT_2ND</b>(<i>op</i>, <i>state</i>, <i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>op</dt>
+ <dd>
+ A ternary operation of the form <i>op</i>(<i>d</i>, <i>state</i>, <i>elem</i>).&nbsp;
+ This macro is called for each element in <i>list</i>--each time returning a new <i>state</i>.&nbsp;
+ This operation is expanded by <b>BOOST_PP_LIST_FOLD_LEFT</b> with the next available <b>BOOST_PP_WHILE</b> iteration,
+ the current <i>state</i>, and the current element.
+ </dd>
+ <dt>state</dt>
+ <dd>
+ The initial state of the fold.
+ </dd>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> to be folded.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ For the <i>list</i>, (<i>0</i>, (<i>1</i>, (<i>2</i>, <b>BOOST_PP_NIL</b>))), this macro expands to:
+ <div>
+ <i>op</i>(<i>d</i>, <i>op</i>(<i>d</i>, <i>op</i>(<i>d</i>, <i>state</i>, <i>0</i>), <i>1</i>), <i>2</i>)
+ </div>
+ </div>
+ <div>
+ This macro is deprecated.&nbsp;
+ Use <b>BOOST_PP_LIST_FOLD_LEFT_<i>d</i></b> instead.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FOLD_LEFT</li>
+ <li>BOOST_PP_LIST_FOLD_LEFT_d</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/fold_left.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/cat.hpp&gt;
+#include &lt;boost/preprocessor/list/fold_left.hpp&gt;
+
+#define LIST (a, (b, (c, BOOST_PP_NIL)))
+
+#define OP(d, state, x) BOOST_PP_CAT(state, x)
+
+BOOST_PP_LIST_FOLD_LEFT_2ND(OP, _, LIST) // expands to _abc
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left_2nd_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left_2nd_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,86 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_FOLD_LEFT_2ND_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_FOLD_LEFT_2ND_D</b> macro folds (or accumulates) the elements of a <i>list</i> left-to-right.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_FOLD_LEFT_2ND_D</b>(<i>d</i>, <i>op</i>, <i>state</i>, <i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.
+ </dd>
+ <dt>op</dt>
+ <dd>
+ A ternary operation of the form <i>op</i>(<i>d</i>, <i>state</i>, <i>elem</i>).&nbsp;
+ This macro is called for each element in <i>list</i>--each time returning a new <i>state</i>.&nbsp;
+ This operation is expanded by <b>BOOST_PP_LIST_FOLD_LEFT</b> with the next available <b>BOOST_PP_WHILE</b> iteration,
+ the current <i>state</i>, and the current element.
+ </dd>
+ <dt>state</dt>
+ <dd>
+ The initial state of the fold.
+ </dd>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> to be folded.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ For the <i>list</i>, (<i>0</i>, (<i>1</i>, (<i>2</i>, <b>BOOST_PP_NIL</b>))), this macro expands to:
+ <div>
+ <i>op</i>(<i>d</i>, <i>op</i>(<i>d</i>, <i>op</i>(<i>d</i>, <i>state</i>, <i>0</i>), <i>1</i>), <i>2</i>)
+ </div>
+ </div>
+ <div>
+ This macro has been superceded by <b>BOOST_PP_LIST_FOLD_LEFT_<i>d</i></b> and is deprecated.&nbsp;
+ It only allows a single reentry into <b>BOOST_PP_LIST_FOLD_LEFT</b>.
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FOLD_LEFT</li>
+ <li>BOOST_PP_LIST_FOLD_LEFT_d</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/fold_left.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/cat.hpp&gt;
+#include &lt;boost/preprocessor/list/fold_left.hpp&gt;
+
+#define L1 (a, (b, (c, BOOST_PP_NIL)))
+#define L2 (L1, (L1, (L1, BOOST_PP_NIL)))
+
+#define OP(d, state, x) (BOOST_PP_LIST_FOLD_LEFT_2ND_D(d, OP_2, _, x), state)
+#define OP_2(d, state, x) BOOST_PP_CAT(state, x)
+
+BOOST_PP_LIST_FOLD_LEFT(OP, BOOST_PP_NIL, L2)
+/*
+ expands to:
+ (_abc , (_abc , (_abc , BOOST_PP_NIL)))
+*/
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left_d.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left_d.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,81 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_FOLD_LEFT_d</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_FOLD_LEFT_<i>d</i></b> macro folds (or accumulates) the elements of a <i>list</i> left-to-right.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_FOLD_LEFT_</b> ## <i>d</i>(<i>op</i>, <i>state</i>, <i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.
+ </dd>
+ <dt>op</dt>
+ <dd>
+ A ternary operation of the form <i>op</i>(<i>d</i>, <i>state</i>, <i>elem</i>).&nbsp;
+ This macro is called for each element in <i>list</i>--each time returning a new <i>state</i>.&nbsp;
+ This operation is expanded by <b>BOOST_PP_LIST_FOLD_LEFT</b> with the next available <b>BOOST_PP_WHILE</b> iteration,
+ the current <i>state</i>, and the current element.
+ </dd>
+ <dt>state</dt>
+ <dd>
+ The initial state of the fold.
+ </dd>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> to be folded.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ For the <i>list</i>, (<i>0</i>, (<i>1</i>, (<i>2</i>, <b>BOOST_PP_NIL</b>))), this macro expands to:
+ <div>
+ <i>op</i>(<i>d</i>, <i>op</i>(<i>d</i>, <i>op</i>(<i>d</i>, <i>state</i>, <i>0</i>), <i>1</i>), <i>2</i>)
+ </div>
+ </div>
+ <h4>See Also</h4>
+ <ul>
+ <li>BOOST_PP_LIST_FOLD_LEFT</li>
+ </ul>
+ <h4>Requirements</h4>
+ <div>
+ <b>Header:</b> &nbsp;<boost/preprocessor/list/fold_left.hpp>
+ </div>
+ <h4>Sample Code</h4>
+<div><pre>
+#include &lt;boost/preprocessor/cat.hpp&gt;
+#include &lt;boost/preprocessor/list/fold_left.hpp&gt;
+
+#define L1 (a, (b, (c, BOOST_PP_NIL)))
+#define L2 (L1, (L1, (L1, BOOST_PP_NIL)))
+
+#define OP(d, state, x) (BOOST_PP_LIST_FOLD_LEFT_ ## d(OP_2, _, x), state)
+#define OP_2(d, state, x) BOOST_PP_CAT(state, x)
+
+BOOST_PP_LIST_FOLD_LEFT(OP, BOOST_PP_NIL, L2)
+/*
+ expands to:
+ (_abc, (_abc, (_abc, BOOST_PP_NIL)))
+*/
+</pre></div>
+ <hr size="1">
+ <div style="margin-left: 0px;">
+ <i>© Copyright Housemarque Oy 2002</i>
+ </br><i>© Copyright Paul Mensonides 2002</i>
+ </div>
+ <div style="margin-left: 0px;">
+ <p><small>Distributed under the Boost Software License, Version 1.0. (See
+ accompanying file LICENSE_1_0.txt or
+ copy at <a href=
+ "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
+ </div>
+</body>
+</html>

Added: branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left_d_old.html
==============================================================================
--- (empty file)
+++ branches/pplib/v2/libs/preprocessor/doc/ref/list_fold_left_d_old.html 2011-05-25 12:30:23 EDT (Wed, 25 May 2011)
@@ -0,0 +1,86 @@
+<html>
+<head>
+ <title>BOOST_PP_LIST_FOLD_LEFT_D</title>
+ <link rel="stylesheet" type="text/css" href="../styles.css">
+</head>
+<body>
+ <div style="margin-left: 0px;">
+ The <b>BOOST_PP_LIST_FOLD_LEFT_D</b> macro folds (or accumulates) the elements of a <i>list</i> left-to-right.&nbsp;
+ It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
+ </div>
+ <h4>Usage</h4>
+ <div class="code">
+ <b>BOOST_PP_LIST_FOLD_LEFT_D</b>(<i>d</i>, <i>op</i>, <i>state</i>, <i>list</i>)
+ </div>
+ <h4>Arguments</h4>
+ <dl>
+ <dt>d</dt>
+ <dd>
+ The next available <b>BOOST_PP_WHILE</b> iteration.
+ </dd>
+ <dt>op</dt>
+ <dd>
+ A ternary operation of the form <i>op</i>(<i>d</i>, <i>state</i>, <i>elem</i>).&nbsp;
+ This macro is called for each element in <i>list</i>--each time returning a new <i>state</i>.&nbsp;
+ This operation is expanded by <b>BOOST_PP_LIST_FOLD_LEFT</b> with the next available <b>BOOST_PP_WHILE</b> iteration,
+ the current <i>state</i>, and the current element.
+ </dd>
+ <dt>state</dt>
+ <dd>
+ The initial state of the fold.
+ </dd>
+ <dt>list</dt>
+ <dd>
+ The <i>list</i> to be folded.
+ </dd>
+ </dl>
+ <h4>Remarks</h4>
+ <div>
+ For the <i>list</i>, (<i>0</i>, (<i>1</i>, (<i>2</i>, <b>BOOST_PP_NIL</b>))), this macro expa