passenger 3.0.21 → 3.9.1.beta
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- data/DEVELOPERS.TXT +4 -10
- data/NEWS +19 -27
- data/Rakefile +20 -19
- data/bin/passenger +3 -2
- data/bin/passenger-config +35 -5
- data/bin/passenger-install-apache2-module +12 -12
- data/bin/passenger-install-nginx-module +55 -38
- data/bin/passenger-memory-stats +3 -1
- data/bin/passenger-status +7 -35
- data/build/agents.rb +107 -21
- data/build/apache2.rb +11 -46
- data/build/basics.rb +61 -9
- data/build/common_library.rb +59 -142
- data/build/cxx_tests.rb +111 -110
- data/build/documentation.rb +33 -0
- data/build/misc.rb +30 -12
- data/build/nginx.rb +10 -39
- data/build/oxt_tests.rb +1 -0
- data/build/ruby_extension.rb +1 -5
- data/build/test_basics.rb +3 -2
- data/dev/copy_boost_headers.rb +2 -1
- data/doc/Architectural overview.html +49 -90
- data/doc/DebuggingAndStressTesting.txt.md +49 -0
- data/doc/Packaging.txt.md +254 -0
- data/doc/Security of user switching support.html +35 -66
- data/doc/Users guide Apache.html +588 -758
- data/doc/Users guide Apache.idmap.txt +253 -136
- data/doc/Users guide Apache.txt +154 -109
- data/doc/Users guide Nginx.html +544 -660
- data/doc/Users guide Nginx.idmap.txt +179 -91
- data/doc/Users guide Nginx.txt +192 -118
- data/doc/Users guide Standalone.html +65 -48
- data/doc/Users guide Standalone.idmap.txt +10 -2
- data/doc/Users guide Standalone.txt +4 -0
- data/doc/images/glyphicons-halflings-white.png +0 -0
- data/doc/images/glyphicons-halflings.png +0 -0
- data/doc/images/phusion_banner_small.png +0 -0
- data/doc/images/{smart-lv2.png → smart.png} +0 -0
- data/doc/images/{smart-lv2.svg → smart.svg} +0 -0
- data/doc/templates/bootstrap.min.css +397 -0
- data/doc/templates/markdown.html.erb +117 -0
- data/doc/users_guide_snippets/analysis_and_system_maintenance.txt +2 -1
- data/doc/users_guide_snippets/appendix_c_spawning_methods.txt +26 -48
- data/doc/users_guide_snippets/passenger_spawn_method.txt +18 -30
- data/doc/users_guide_snippets/support_information.txt +30 -0
- data/ext/apache2/Bucket.cpp +9 -26
- data/ext/apache2/Bucket.h +13 -10
- data/ext/apache2/Configuration.cpp +70 -58
- data/ext/apache2/Configuration.hpp +19 -47
- data/ext/apache2/DirectoryMapper.h +7 -7
- data/ext/apache2/Hooks.cpp +150 -313
- data/ext/boost/algorithm/string/detail/case_conv.hpp +4 -2
- data/ext/boost/algorithm/string/detail/find_format.hpp +20 -20
- data/ext/boost/algorithm/string/detail/find_format_all.hpp +23 -23
- data/ext/boost/algorithm/string/detail/find_format_store.hpp +2 -2
- data/ext/boost/algorithm/string/detail/formatter.hpp +25 -0
- data/ext/boost/algorithm/string/formatter.hpp +20 -3
- data/ext/boost/assert.hpp +85 -4
- data/ext/boost/bind/bind.hpp +1 -1
- data/ext/boost/concept/detail/backward_compatibility.hpp +1 -1
- data/ext/boost/concept_check.hpp +140 -64
- data/ext/boost/config.hpp +1 -1
- data/ext/boost/config/auto_link.hpp +8 -6
- data/ext/boost/config/compiler/borland.hpp +12 -2
- data/ext/boost/config/compiler/clang.hpp +89 -30
- data/ext/boost/config/compiler/codegear.hpp +3 -2
- data/ext/boost/config/compiler/common_edg.hpp +7 -5
- data/ext/boost/config/compiler/cray.hpp +61 -0
- data/ext/boost/config/compiler/digitalmars.hpp +9 -1
- data/ext/boost/config/compiler/gcc.hpp +33 -24
- data/ext/boost/config/compiler/gcc_xml.hpp +4 -0
- data/ext/boost/config/compiler/hp_acc.hpp +12 -1
- data/ext/boost/config/compiler/intel.hpp +78 -4
- data/ext/boost/config/compiler/metrowerks.hpp +4 -1
- data/ext/boost/config/compiler/mpw.hpp +4 -1
- data/ext/boost/config/compiler/nvcc.hpp +8 -66
- data/ext/boost/config/compiler/pathscale.hpp +80 -0
- data/ext/boost/config/compiler/pgi.hpp +5 -5
- data/ext/boost/config/compiler/sunpro_cc.hpp +4 -1
- data/ext/boost/config/compiler/vacpp.hpp +37 -13
- data/ext/boost/config/compiler/visualc.hpp +24 -11
- data/ext/boost/config/platform/bsd.hpp +1 -1
- data/ext/boost/config/platform/cray.hpp +18 -0
- data/ext/boost/config/platform/cygwin.hpp +10 -0
- data/ext/boost/config/platform/linux.hpp +5 -0
- data/ext/boost/config/platform/macos.hpp +5 -4
- data/ext/boost/config/platform/symbian.hpp +5 -2
- data/ext/boost/config/platform/vms.hpp +25 -0
- data/ext/boost/config/platform/win32.hpp +7 -1
- data/ext/boost/config/select_compiler_config.hpp +8 -25
- data/ext/boost/config/select_platform_config.hpp +8 -1
- data/ext/boost/config/select_stdlib_config.hpp +9 -1
- data/ext/boost/config/stdlib/dinkumware.hpp +6 -9
- data/ext/boost/config/stdlib/libcomo.hpp +1 -4
- data/ext/boost/config/stdlib/libcpp.hpp +36 -0
- data/ext/boost/config/stdlib/libstdcpp3.hpp +37 -11
- data/ext/boost/config/stdlib/modena.hpp +1 -4
- data/ext/boost/config/stdlib/msl.hpp +1 -4
- data/ext/boost/config/stdlib/roguewave.hpp +9 -6
- data/ext/boost/config/stdlib/sgi.hpp +12 -4
- data/ext/boost/config/stdlib/stlport.hpp +11 -4
- data/ext/boost/config/stdlib/vacpp.hpp +11 -4
- data/ext/boost/config/suffix.hpp +71 -6
- data/ext/boost/config/warning_disable.hpp +1 -1
- data/ext/boost/container/container_fwd.hpp +177 -0
- data/ext/boost/cstdint.hpp +17 -12
- data/ext/boost/current_function.hpp +2 -1
- data/ext/boost/date_time/c_time.hpp +17 -1
- data/ext/boost/date_time/compiler_config.hpp +13 -15
- data/ext/boost/date_time/date_formatting.hpp +7 -1
- data/ext/boost/date_time/filetime_functions.hpp +4 -4
- data/ext/boost/date_time/gregorian_calendar.ipp +2 -2
- data/ext/boost/date_time/strings_from_facet.hpp +3 -3
- data/ext/boost/date_time/time_facet.hpp +101 -101
- data/ext/boost/detail/endian.hpp +4 -2
- data/ext/boost/detail/fenv.hpp +74 -0
- data/ext/boost/detail/sp_typeinfo.hpp +6 -0
- data/ext/boost/exception/detail/clone_current_exception.hpp +47 -0
- data/ext/boost/exception/detail/exception_ptr.hpp +194 -122
- data/ext/boost/exception/detail/type_info.hpp +3 -3
- data/ext/boost/exception/diagnostic_information.hpp +37 -21
- data/ext/boost/exception/exception.hpp +21 -1
- data/ext/boost/exception/info.hpp +0 -1
- data/ext/boost/function.hpp +2 -2
- data/ext/boost/function/function_base.hpp +15 -9
- data/ext/boost/function/function_template.hpp +26 -48
- data/ext/boost/integer_fwd.hpp +0 -16
- data/ext/boost/integer_traits.hpp +2 -2
- data/ext/boost/iterator.hpp +1 -1
- data/ext/boost/iterator/iterator_adaptor.hpp +1 -7
- data/ext/boost/iterator/iterator_facade.hpp +13 -13
- data/ext/boost/iterator/transform_iterator.hpp +5 -20
- data/ext/boost/lexical_cast.hpp +1655 -673
- data/ext/boost/math/policies/policy.hpp +982 -0
- data/ext/boost/math/special_functions/detail/fp_traits.hpp +570 -0
- data/ext/boost/math/special_functions/detail/round_fwd.hpp +80 -0
- data/ext/boost/math/special_functions/fpclassify.hpp +533 -0
- data/ext/boost/math/special_functions/math_fwd.hpp +1070 -0
- data/ext/boost/math/special_functions/sign.hpp +145 -0
- data/ext/boost/math/tools/config.hpp +321 -0
- data/ext/boost/math/tools/promotion.hpp +150 -0
- data/ext/boost/math/tools/real_cast.hpp +29 -0
- data/ext/boost/math/tools/user.hpp +97 -0
- data/ext/boost/move/move.hpp +1222 -0
- data/ext/boost/mpl/O1_size.hpp +40 -0
- data/ext/boost/mpl/O1_size_fwd.hpp +24 -0
- data/ext/boost/mpl/advance.hpp +76 -0
- data/ext/boost/mpl/advance_fwd.hpp +28 -0
- data/ext/boost/mpl/at.hpp +52 -0
- data/ext/boost/mpl/at_fwd.hpp +24 -0
- data/ext/boost/mpl/aux_/O1_size_impl.hpp +87 -0
- data/ext/boost/mpl/aux_/advance_backward.hpp +128 -0
- data/ext/boost/mpl/aux_/advance_forward.hpp +127 -0
- data/ext/boost/mpl/aux_/arithmetic_op.hpp +92 -0
- data/ext/boost/mpl/aux_/at_impl.hpp +45 -0
- data/ext/boost/mpl/aux_/begin_end_impl.hpp +101 -0
- data/ext/boost/mpl/aux_/clear_impl.hpp +35 -0
- data/ext/boost/mpl/aux_/comparison_op.hpp +83 -0
- data/ext/boost/mpl/aux_/config/forwarding.hpp +27 -0
- data/ext/boost/mpl/aux_/config/typeof.hpp +38 -0
- data/ext/boost/mpl/aux_/contains_impl.hpp +61 -0
- data/ext/boost/mpl/aux_/find_if_pred.hpp +31 -0
- data/ext/boost/mpl/aux_/fold_impl.hpp +43 -0
- data/ext/boost/mpl/aux_/has_begin.hpp +23 -0
- data/ext/boost/mpl/aux_/has_size.hpp +23 -0
- data/ext/boost/mpl/aux_/has_tag.hpp +23 -0
- data/ext/boost/mpl/aux_/inserter_algorithm.hpp +159 -0
- data/ext/boost/mpl/aux_/is_msvc_eti_arg.hpp +64 -0
- data/ext/boost/mpl/aux_/iter_apply.hpp +47 -0
- data/ext/boost/mpl/aux_/iter_fold_if_impl.hpp +210 -0
- data/ext/boost/mpl/aux_/iter_fold_impl.hpp +42 -0
- data/ext/boost/mpl/aux_/lambda_spec.hpp +49 -0
- data/ext/boost/mpl/aux_/largest_int.hpp +63 -0
- data/ext/boost/mpl/aux_/msvc_eti_base.hpp +77 -0
- data/ext/boost/mpl/aux_/msvc_type.hpp +62 -0
- data/ext/boost/mpl/aux_/numeric_cast_utils.hpp +77 -0
- data/ext/boost/mpl/aux_/numeric_op.hpp +315 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/greater.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/less.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/list.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/minus.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/plus.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp +231 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/times.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/vector.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessor/default_params.hpp +67 -0
- data/ext/boost/mpl/aux_/push_back_impl.hpp +70 -0
- data/ext/boost/mpl/aux_/push_front_impl.hpp +71 -0
- data/ext/boost/mpl/aux_/reverse_fold_impl.hpp +44 -0
- data/ext/boost/mpl/aux_/size_impl.hpp +52 -0
- data/ext/boost/mpl/aux_/traits_lambda_spec.hpp +63 -0
- data/ext/boost/mpl/back_fwd.hpp +24 -0
- data/ext/boost/mpl/back_inserter.hpp +34 -0
- data/ext/boost/mpl/begin_end.hpp +57 -0
- data/ext/boost/mpl/begin_end_fwd.hpp +27 -0
- data/ext/boost/mpl/clear.hpp +39 -0
- data/ext/boost/mpl/clear_fwd.hpp +24 -0
- data/ext/boost/mpl/comparison.hpp +24 -0
- data/ext/boost/mpl/contains.hpp +41 -0
- data/ext/boost/mpl/contains_fwd.hpp +25 -0
- data/ext/boost/mpl/deref.hpp +41 -0
- data/ext/boost/mpl/distance.hpp +78 -0
- data/ext/boost/mpl/distance_fwd.hpp +28 -0
- data/ext/boost/mpl/empty_fwd.hpp +24 -0
- data/ext/boost/mpl/equal_to.hpp +21 -0
- data/ext/boost/mpl/find.hpp +38 -0
- data/ext/boost/mpl/find_if.hpp +50 -0
- data/ext/boost/mpl/fold.hpp +48 -0
- data/ext/boost/mpl/front_fwd.hpp +24 -0
- data/ext/boost/mpl/front_inserter.hpp +33 -0
- data/ext/boost/mpl/greater.hpp +21 -0
- data/ext/boost/mpl/greater_equal.hpp +21 -0
- data/ext/boost/mpl/inserter.hpp +32 -0
- data/ext/boost/mpl/iter_fold.hpp +49 -0
- data/ext/boost/mpl/iter_fold_if.hpp +117 -0
- data/ext/boost/mpl/iterator_range.hpp +42 -0
- data/ext/boost/mpl/iterator_tags.hpp +27 -0
- data/ext/boost/mpl/less.hpp +21 -0
- data/ext/boost/mpl/less_equal.hpp +21 -0
- data/ext/boost/mpl/limits/list.hpp +21 -0
- data/ext/boost/mpl/limits/vector.hpp +21 -0
- data/ext/boost/mpl/list.hpp +57 -0
- data/ext/boost/mpl/list/aux_/O1_size.hpp +33 -0
- data/ext/boost/mpl/list/aux_/begin_end.hpp +44 -0
- data/ext/boost/mpl/list/aux_/clear.hpp +34 -0
- data/ext/boost/mpl/list/aux_/empty.hpp +34 -0
- data/ext/boost/mpl/list/aux_/front.hpp +33 -0
- data/ext/boost/mpl/list/aux_/include_preprocessed.hpp +35 -0
- data/ext/boost/mpl/list/aux_/item.hpp +55 -0
- data/ext/boost/mpl/list/aux_/iterator.hpp +76 -0
- data/ext/boost/mpl/list/aux_/pop_front.hpp +34 -0
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list10.hpp +149 -0
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list20.hpp +169 -0
- data/ext/boost/mpl/list/aux_/push_back.hpp +36 -0
- data/ext/boost/mpl/list/aux_/push_front.hpp +39 -0
- data/ext/boost/mpl/list/aux_/size.hpp +33 -0
- data/ext/boost/mpl/list/aux_/tag.hpp +24 -0
- data/ext/boost/mpl/list/list0.hpp +42 -0
- data/ext/boost/mpl/list/list10.hpp +43 -0
- data/ext/boost/mpl/list/list20.hpp +43 -0
- data/ext/boost/mpl/long.hpp +22 -0
- data/ext/boost/mpl/long_fwd.hpp +27 -0
- data/ext/boost/mpl/minus.hpp +21 -0
- data/ext/boost/mpl/multiplies.hpp +53 -0
- data/ext/boost/mpl/negate.hpp +81 -0
- data/ext/boost/mpl/not_equal_to.hpp +21 -0
- data/ext/boost/mpl/numeric_cast.hpp +41 -0
- data/ext/boost/mpl/pair.hpp +70 -0
- data/ext/boost/mpl/plus.hpp +21 -0
- data/ext/boost/mpl/pop_back_fwd.hpp +24 -0
- data/ext/boost/mpl/pop_front_fwd.hpp +24 -0
- data/ext/boost/mpl/prior.hpp +19 -0
- data/ext/boost/mpl/push_back.hpp +53 -0
- data/ext/boost/mpl/push_back_fwd.hpp +24 -0
- data/ext/boost/mpl/push_front.hpp +52 -0
- data/ext/boost/mpl/push_front_fwd.hpp +24 -0
- data/ext/boost/mpl/remove_if.hpp +83 -0
- data/ext/boost/mpl/reverse_fold.hpp +50 -0
- data/ext/boost/mpl/same_as.hpp +55 -0
- data/ext/boost/mpl/sequence_tag.hpp +124 -0
- data/ext/boost/mpl/sequence_tag_fwd.hpp +26 -0
- data/ext/boost/mpl/size.hpp +42 -0
- data/ext/boost/mpl/size_fwd.hpp +24 -0
- data/ext/boost/mpl/tag.hpp +52 -0
- data/ext/boost/mpl/times.hpp +21 -0
- data/ext/boost/mpl/vector.hpp +57 -0
- data/ext/boost/mpl/vector/aux_/O1_size.hpp +56 -0
- data/ext/boost/mpl/vector/aux_/at.hpp +116 -0
- data/ext/boost/mpl/vector/aux_/back.hpp +59 -0
- data/ext/boost/mpl/vector/aux_/begin_end.hpp +49 -0
- data/ext/boost/mpl/vector/aux_/clear.hpp +55 -0
- data/ext/boost/mpl/vector/aux_/empty.hpp +68 -0
- data/ext/boost/mpl/vector/aux_/front.hpp +56 -0
- data/ext/boost/mpl/vector/aux_/include_preprocessed.hpp +55 -0
- data/ext/boost/mpl/vector/aux_/item.hpp +103 -0
- data/ext/boost/mpl/vector/aux_/iterator.hpp +130 -0
- data/ext/boost/mpl/vector/aux_/pop_back.hpp +40 -0
- data/ext/boost/mpl/vector/aux_/pop_front.hpp +40 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp +829 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp +1144 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp +139 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp +159 -0
- data/ext/boost/mpl/vector/aux_/push_back.hpp +40 -0
- data/ext/boost/mpl/vector/aux_/push_front.hpp +40 -0
- data/ext/boost/mpl/vector/aux_/size.hpp +49 -0
- data/ext/boost/mpl/vector/aux_/tag.hpp +32 -0
- data/ext/boost/mpl/vector/aux_/vector0.hpp +52 -0
- data/ext/boost/mpl/vector/vector0.hpp +34 -0
- data/ext/boost/mpl/vector/vector10.hpp +45 -0
- data/ext/boost/mpl/vector/vector20.hpp +45 -0
- data/ext/boost/none.hpp +1 -1
- data/ext/boost/numeric/conversion/bounds.hpp +24 -0
- data/ext/boost/numeric/conversion/cast.hpp +61 -0
- data/ext/boost/numeric/conversion/conversion_traits.hpp +39 -0
- data/ext/boost/numeric/conversion/converter.hpp +68 -0
- data/ext/boost/numeric/conversion/converter_policies.hpp +186 -0
- data/ext/boost/numeric/conversion/detail/bounds.hpp +58 -0
- data/ext/boost/numeric/conversion/detail/conversion_traits.hpp +97 -0
- data/ext/boost/numeric/conversion/detail/converter.hpp +602 -0
- data/ext/boost/numeric/conversion/detail/int_float_mixture.hpp +72 -0
- data/ext/boost/numeric/conversion/detail/is_subranged.hpp +234 -0
- data/ext/boost/numeric/conversion/detail/meta.hpp +120 -0
- data/ext/boost/numeric/conversion/detail/numeric_cast_traits.hpp +138 -0
- data/ext/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp +1741 -0
- data/ext/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp +347 -0
- data/ext/boost/numeric/conversion/detail/sign_mixture.hpp +72 -0
- data/ext/boost/numeric/conversion/detail/udt_builtin_mixture.hpp +69 -0
- data/ext/boost/numeric/conversion/int_float_mixture_enum.hpp +29 -0
- data/ext/boost/numeric/conversion/numeric_cast_traits.hpp +31 -0
- data/ext/boost/numeric/conversion/sign_mixture_enum.hpp +29 -0
- data/ext/boost/numeric/conversion/udt_builtin_mixture_enum.hpp +26 -0
- data/ext/boost/operators.hpp +3 -1
- data/ext/boost/optional/optional.hpp +146 -79
- data/ext/boost/optional/optional_fwd.hpp +8 -1
- data/ext/boost/preprocessor/cat.hpp +2 -2
- data/ext/boost/preprocessor/config/config.hpp +39 -4
- data/ext/boost/preprocessor/facilities/intercept.hpp +277 -0
- data/ext/boost/preprocessor/facilities/overload.hpp +25 -0
- data/ext/boost/preprocessor/iteration/detail/iter/forward1.hpp +3 -3
- data/ext/boost/preprocessor/iteration/iterate.hpp +3 -3
- data/ext/boost/preprocessor/punctuation/paren.hpp +23 -0
- data/ext/boost/preprocessor/repetition/enum_shifted_params.hpp +44 -0
- data/ext/boost/preprocessor/seq/cat.hpp +5 -4
- data/ext/boost/preprocessor/seq/size.hpp +0 -1
- data/ext/boost/preprocessor/tuple/eat.hpp +83 -34
- data/ext/boost/preprocessor/tuple/elem.hpp +161 -355
- data/ext/boost/preprocessor/tuple/rem.hpp +110 -48
- data/ext/boost/preprocessor/tuple/to_list.hpp +90 -36
- data/ext/boost/preprocessor/variadic/elem.hpp +94 -0
- data/ext/boost/preprocessor/variadic/size.hpp +30 -0
- data/ext/boost/range/begin.hpp +17 -6
- data/ext/boost/range/concepts.hpp +37 -2
- data/ext/boost/range/detail/safe_bool.hpp +72 -0
- data/ext/boost/range/end.hpp +14 -9
- data/ext/boost/range/iterator_range_core.hpp +120 -12
- data/ext/boost/range/size.hpp +21 -5
- data/ext/boost/smart_ptr/detail/shared_count.hpp +88 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base.hpp +3 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_aix.hpp +142 -0
- data/ext/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +9 -0
- data/ext/boost/smart_ptr/detail/sp_counted_impl.hpp +10 -2
- data/ext/boost/smart_ptr/detail/sp_has_sync.hpp +5 -1
- data/ext/boost/smart_ptr/detail/spinlock.hpp +4 -1
- data/ext/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +20 -3
- data/ext/boost/smart_ptr/detail/spinlock_pool.hpp +4 -0
- data/ext/boost/smart_ptr/make_shared.hpp +591 -22
- data/ext/boost/smart_ptr/shared_array.hpp +29 -1
- data/ext/boost/smart_ptr/shared_ptr.hpp +29 -13
- data/ext/boost/smart_ptr/weak_ptr.hpp +24 -12
- data/ext/boost/src/pthread/once.cpp +9 -7
- data/ext/boost/src/pthread/thread.cpp +32 -28
- data/ext/boost/src/pthread/timeconv.inl +4 -5
- data/ext/boost/src/tss_null.cpp +5 -1
- data/ext/boost/static_assert.hpp +8 -2
- data/ext/boost/thread/detail/config.hpp +19 -4
- data/ext/boost/thread/detail/move.hpp +11 -5
- data/ext/boost/thread/detail/thread.hpp +59 -43
- data/ext/boost/thread/exceptions.hpp +9 -9
- data/ext/boost/thread/future.hpp +150 -82
- data/ext/boost/thread/locks.hpp +101 -60
- data/ext/boost/thread/pthread/condition_variable.hpp +79 -32
- data/ext/boost/thread/pthread/condition_variable_fwd.hpp +12 -3
- data/ext/boost/thread/pthread/mutex.hpp +17 -14
- data/ext/boost/thread/pthread/once.hpp +3 -4
- data/ext/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +12 -2
- data/ext/boost/thread/pthread/recursive_mutex.hpp +19 -19
- data/ext/boost/thread/pthread/shared_mutex.hpp +13 -13
- data/ext/boost/thread/pthread/thread_data.hpp +40 -12
- data/ext/boost/thread/thread_time.hpp +5 -0
- data/ext/boost/throw_exception.hpp +1 -1
- data/ext/boost/token_functions.hpp +34 -10
- data/ext/boost/type_traits/add_rvalue_reference.hpp +66 -0
- data/ext/boost/type_traits/alignment_of.hpp +1 -1
- data/ext/boost/type_traits/detail/bool_trait_def.hpp +26 -3
- data/ext/boost/type_traits/detail/bool_trait_undef.hpp +3 -2
- data/ext/boost/type_traits/detail/cv_traits_impl.hpp +1 -1
- data/ext/boost/type_traits/detail/size_t_trait_def.hpp +6 -4
- data/ext/boost/type_traits/detail/type_trait_def.hpp +8 -2
- data/ext/boost/type_traits/function_traits.hpp +1 -1
- data/ext/boost/type_traits/has_nothrow_constructor.hpp +53 -0
- data/ext/boost/type_traits/has_nothrow_copy.hpp +19 -5
- data/ext/boost/type_traits/has_trivial_constructor.hpp +51 -0
- data/ext/boost/type_traits/has_trivial_copy.hpp +20 -5
- data/ext/boost/type_traits/has_trivial_destructor.hpp +12 -5
- data/ext/boost/type_traits/intrinsics.hpp +119 -71
- data/ext/boost/type_traits/is_const.hpp +5 -5
- data/ext/boost/type_traits/is_convertible.hpp +14 -13
- data/ext/boost/type_traits/is_enum.hpp +1 -1
- data/ext/boost/type_traits/is_floating_point.hpp +27 -0
- data/ext/boost/type_traits/is_function.hpp +3 -3
- data/ext/boost/type_traits/is_fundamental.hpp +1 -1
- data/ext/boost/type_traits/is_member_function_pointer.hpp +2 -2
- data/ext/boost/type_traits/is_member_pointer.hpp +2 -2
- data/ext/boost/type_traits/is_pod.hpp +11 -3
- data/ext/boost/type_traits/is_pointer.hpp +2 -2
- data/ext/boost/type_traits/is_signed.hpp +8 -3
- data/ext/boost/type_traits/is_union.hpp +8 -0
- data/ext/boost/type_traits/is_unsigned.hpp +9 -4
- data/ext/boost/type_traits/is_volatile.hpp +5 -5
- data/ext/boost/type_traits/remove_cv.hpp +4 -3
- data/ext/boost/type_traits/remove_pointer.hpp +51 -2
- data/ext/boost/type_traits/remove_reference.hpp +2 -2
- data/ext/boost/type_traits/type_with_alignment.hpp +8 -2
- data/ext/boost/utility/declval.hpp +44 -0
- data/ext/boost/utility/detail/in_place_factory_prefix.hpp +36 -0
- data/ext/boost/utility/detail/in_place_factory_suffix.hpp +23 -0
- data/ext/boost/utility/detail/result_of_iterate.hpp +142 -0
- data/ext/boost/utility/in_place_factory.hpp +88 -0
- data/ext/boost/utility/result_of.hpp +103 -0
- data/ext/boost/utility/swap.hpp +55 -0
- data/ext/common/AnsiColorConstants.h +36 -0
- data/ext/common/ApplicationPool2/Common.h +87 -0
- data/ext/common/ApplicationPool2/ComponentInfo.h +53 -0
- data/ext/common/ApplicationPool2/Group.h +648 -0
- data/ext/common/ApplicationPool2/Implementation.cpp +580 -0
- data/ext/common/ApplicationPool2/Options.h +576 -0
- data/ext/common/ApplicationPool2/PipeWatcher.h +61 -0
- data/ext/common/ApplicationPool2/Pool.h +1181 -0
- data/ext/common/ApplicationPool2/Process.h +425 -0
- data/ext/common/ApplicationPool2/README.md +96 -0
- data/ext/common/ApplicationPool2/Session.h +158 -0
- data/ext/common/ApplicationPool2/Socket.h +246 -0
- data/ext/common/ApplicationPool2/Spawner.h +2212 -0
- data/ext/common/ApplicationPool2/SuperGroup.h +749 -0
- data/ext/common/BackgroundEventLoop.cpp +129 -0
- data/ext/common/BackgroundEventLoop.h +61 -0
- data/ext/common/Constants.h +3 -1
- data/ext/common/EventedBufferedInput.h +331 -0
- data/ext/common/EventedMessageServer.h +17 -34
- data/ext/common/EventedServer.h +2 -2
- data/ext/common/Exceptions.h +71 -19
- data/ext/common/FileDescriptor.h +8 -6
- data/ext/common/HttpConstants.h +167 -0
- data/ext/common/IniFile.h +24 -0
- data/ext/common/Logging.h +62 -849
- data/ext/common/MessageReadersWriters.h +19 -0
- data/ext/common/MessageServer.h +11 -14
- data/ext/common/MultiLibeio.cpp +198 -0
- data/ext/common/MultiLibeio.h +67 -0
- data/ext/common/ResourceLocator.h +24 -41
- data/ext/common/SafeLibev.h +186 -14
- data/ext/common/StaticString.h +23 -3
- data/ext/common/UnionStation.h +972 -0
- data/ext/common/Utils.cpp +168 -24
- data/ext/common/Utils.h +25 -3
- data/ext/common/Utils/CachedFileStat.hpp +4 -3
- data/ext/common/Utils/FileChangeChecker.h +2 -2
- data/ext/common/Utils/HashMap.h +50 -0
- data/ext/common/Utils/IOUtils.cpp +229 -68
- data/ext/common/Utils/IOUtils.h +134 -3
- data/ext/common/Utils/Lock.h +28 -0
- data/ext/common/Utils/MemoryBarrier.h +52 -0
- data/ext/common/Utils/PriorityQueue.h +54 -0
- data/ext/common/Utils/ProcessMetricsCollector.h +9 -11
- data/ext/common/Utils/ScopeGuard.h +50 -1
- data/ext/common/Utils/SmallVector.h +653 -0
- data/ext/common/Utils/StrIntUtils.cpp +26 -2
- data/ext/common/Utils/StrIntUtils.h +18 -2
- data/ext/common/Utils/StringMap.h +125 -8
- data/ext/common/Utils/Template.h +212 -0
- data/ext/common/Utils/fib.c +699 -0
- data/ext/common/Utils/fib.h +101 -0
- data/ext/common/Utils/fibpriv.h +67 -0
- data/ext/common/Utils/json-forwards.h +249 -0
- data/ext/common/Utils/json.h +1855 -0
- data/ext/common/Utils/jsoncpp.cpp +4230 -0
- data/ext/common/agents/Base.cpp +1126 -0
- data/ext/common/{AgentBase.h → agents/Base.h} +5 -1
- data/ext/common/agents/EnvPrinter.c +16 -0
- data/ext/common/agents/HelperAgent/AgentOptions.h +81 -0
- data/ext/common/{HelperAgent → agents/HelperAgent}/BacktracesServer.h +3 -2
- data/ext/common/agents/HelperAgent/FileBackedPipe.h +732 -0
- data/ext/common/agents/HelperAgent/Main.cpp +497 -0
- data/ext/common/agents/HelperAgent/RequestHandler.cpp +283 -0
- data/ext/common/agents/HelperAgent/RequestHandler.h +2139 -0
- data/ext/common/agents/HelperAgent/ScgiRequestParser.h +451 -0
- data/ext/common/{LoggingAgent → agents/LoggingAgent}/DataStoreId.h +1 -1
- data/ext/common/{LoggingAgent → agents/LoggingAgent}/FilterSupport.cpp +1 -1
- data/ext/common/{LoggingAgent → agents/LoggingAgent}/FilterSupport.h +0 -0
- data/ext/common/{LoggingAgent → agents/LoggingAgent}/LoggingServer.h +18 -16
- data/ext/common/{LoggingAgent → agents/LoggingAgent}/Main.cpp +15 -13
- data/ext/common/{LoggingAgent → agents/LoggingAgent}/RemoteSender.h +6 -6
- data/ext/common/agents/SpawnPreparer.cpp +127 -0
- data/ext/common/{Watchdog.cpp → agents/Watchdog/Main.cpp} +63 -25
- data/ext/libeio/Changes +72 -0
- data/ext/{google/COPYING → libeio/LICENSE} +17 -9
- data/ext/libeio/Makefile.am +15 -0
- data/ext/libeio/Makefile.in +694 -0
- data/ext/libeio/aclocal.m4 +9418 -0
- data/ext/libeio/autogen.sh +3 -0
- data/ext/libeio/config.guess +1501 -0
- data/ext/libeio/config.h.in +136 -0
- data/ext/libeio/config.sub +1705 -0
- data/ext/libeio/configure +14822 -0
- data/ext/libeio/configure.ac +22 -0
- data/ext/libeio/demo.c +194 -0
- data/ext/libeio/ecb.h +457 -0
- data/ext/libeio/eio.c +2816 -0
- data/ext/libeio/eio.h +411 -0
- data/ext/libeio/install-sh +520 -0
- data/ext/libeio/libeio.m4 +211 -0
- data/ext/libeio/ltmain.sh +9636 -0
- data/ext/libeio/missing +376 -0
- data/ext/libeio/xthread.h +166 -0
- data/ext/libev/Changes +125 -7
- data/ext/libev/Makefile.am +5 -3
- data/ext/libev/Makefile.in +209 -120
- data/ext/libev/aclocal.m4 +6027 -4619
- data/ext/libev/autogen.sh +1 -4
- data/ext/libev/config.h.in +11 -7
- data/ext/libev/configure +7312 -14993
- data/ext/libev/configure.ac +12 -5
- data/ext/libev/depcomp +630 -0
- data/ext/libev/ev++.h +48 -32
- data/ext/libev/ev.c +1173 -391
- data/ext/libev/ev.h +315 -181
- data/ext/libev/ev_epoll.c +66 -15
- data/ext/libev/ev_kqueue.c +20 -18
- data/ext/libev/ev_poll.c +27 -23
- data/ext/libev/ev_port.c +39 -19
- data/ext/libev/ev_select.c +23 -17
- data/ext/libev/ev_vars.h +25 -8
- data/ext/libev/ev_win32.c +6 -6
- data/ext/libev/ev_wrap.h +22 -2
- data/ext/libev/event.c +18 -17
- data/ext/libev/event.h +16 -4
- data/ext/libev/libev.m4 +10 -6
- data/ext/libev/ltmain.sh +7353 -5811
- data/ext/nginx/Configuration.c +74 -42
- data/ext/nginx/Configuration.h +3 -5
- data/ext/nginx/ContentHandler.c +26 -83
- data/ext/nginx/ContentHandler.h +1 -1
- data/ext/nginx/config +13 -9
- data/ext/nginx/ngx_http_passenger_module.c +3 -7
- data/ext/oxt/detail/backtrace_enabled.hpp +5 -102
- data/ext/oxt/detail/context.hpp +90 -0
- data/ext/oxt/detail/spin_lock_darwin.hpp +4 -0
- data/ext/oxt/detail/spin_lock_gcc_x86.hpp +4 -0
- data/ext/oxt/detail/spin_lock_pthreads.hpp +14 -0
- data/ext/oxt/detail/tracable_exception_enabled.hpp +2 -2
- data/ext/oxt/dynamic_thread_group.hpp +27 -1
- data/ext/oxt/implementation.cpp +415 -0
- data/ext/oxt/{thread.cpp → initialize.hpp} +13 -6
- data/ext/oxt/macros.hpp +32 -1
- data/ext/oxt/spin_lock.hpp +6 -11
- data/ext/oxt/system_calls.cpp +204 -16
- data/ext/oxt/system_calls.hpp +85 -45
- data/ext/oxt/thread.hpp +13 -117
- data/ext/ruby/passenger_native_support.c +82 -237
- data/helper-scripts/backtrace-sanitizer.rb +114 -0
- data/helper-scripts/classic-rails-loader.rb +135 -0
- data/helper-scripts/classic-rails-preloader.rb +161 -0
- data/helper-scripts/node-loader.js +314 -0
- data/helper-scripts/rack-loader.rb +104 -0
- data/helper-scripts/rack-preloader.rb +132 -0
- data/helper-scripts/wsgi-loader.py +231 -0
- data/helper-scripts/wsgi-preloader.py +1 -0
- data/lib/phusion_passenger.rb +159 -61
- data/lib/phusion_passenger/abstract_installer.rb +182 -87
- data/lib/phusion_passenger/admin_tools/server_instance.rb +25 -19
- data/lib/phusion_passenger/analytics_logger.rb +5 -4
- data/lib/phusion_passenger/classic_rails/{request_handler.rb → thread_handler_extension.rb} +4 -40
- data/lib/phusion_passenger/classic_rails_extensions/init.rb +5 -3
- data/lib/phusion_passenger/common_library.rb +441 -0
- data/lib/phusion_passenger/console_text_template.rb +4 -16
- data/lib/phusion_passenger/constants.rb +1 -8
- data/lib/phusion_passenger/debug_logging.rb +5 -2
- data/lib/phusion_passenger/dependencies.rb +51 -13
- data/lib/phusion_passenger/loader_shared_helpers.rb +318 -0
- data/lib/phusion_passenger/message_channel.rb +3 -47
- data/lib/phusion_passenger/message_client.rb +2 -2
- data/lib/phusion_passenger/native_support.rb +36 -15
- data/lib/phusion_passenger/packaging.rb +8 -11
- data/lib/phusion_passenger/platform_info.rb +25 -17
- data/lib/phusion_passenger/platform_info/apache.rb +10 -7
- data/lib/phusion_passenger/platform_info/binary_compatibility.rb +10 -30
- data/lib/phusion_passenger/platform_info/compiler.rb +93 -34
- data/lib/phusion_passenger/platform_info/ruby.rb +37 -97
- data/lib/phusion_passenger/preloader_shared_helpers.rb +121 -0
- data/lib/phusion_passenger/public_api.rb +1 -4
- data/lib/phusion_passenger/rack/{request_handler.rb → thread_handler_extension.rb} +14 -63
- data/lib/phusion_passenger/rails3_extensions/init.rb +9 -8
- data/lib/phusion_passenger/request_handler.rb +500 -0
- data/lib/phusion_passenger/request_handler/thread_handler.rb +360 -0
- data/lib/phusion_passenger/ruby_core_enhancements.rb +142 -0
- data/lib/phusion_passenger/standalone/command.rb +36 -15
- data/lib/phusion_passenger/standalone/package_runtime_command.rb +16 -8
- data/lib/phusion_passenger/standalone/runtime_installer.rb +169 -72
- data/lib/phusion_passenger/standalone/start_command.rb +44 -39
- data/lib/phusion_passenger/standalone/utils.rb +5 -5
- data/lib/phusion_passenger/utils.rb +35 -914
- data/lib/phusion_passenger/utils/ansi_colors.rb +59 -0
- data/lib/phusion_passenger/utils/file_system_watcher.rb +1 -1
- data/lib/phusion_passenger/utils/robust_interruption.rb +134 -0
- data/lib/phusion_passenger/utils/tee_input.rb +174 -0
- data/lib/phusion_passenger/utils/tmpio.rb +33 -0
- data/lib/phusion_passenger/utils/unseekable_socket.rb +6 -0
- data/resources/mime.types +5 -1
- data/{lib/phusion_passenger/templates → resources}/standalone_default_root/index.html +0 -0
- data/{lib/phusion_passenger → resources}/templates/apache2/apache_must_be_compiled_with_compatible_mpm.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/apache2/config_snippets.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/apache2/deployment_example.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/apache2/no_write_permission_to_passenger_root.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/apache2/possible_solutions_for_compilation_and_installation_problems.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/apache2/run_installer_as_root.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/apache2/welcome.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/error_layout.css +6 -0
- data/resources/templates/error_layout.html.template +89 -0
- data/resources/templates/general_error.html.template +1 -0
- data/resources/templates/general_error_with_html.html.template +1 -0
- data/{lib/phusion_passenger → resources}/templates/nginx/ask_for_extra_configure_flags.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/nginx/cannot_write_to_dir.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/nginx/config_snippets.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/nginx/config_snippets_inserted.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/nginx/confirm_extra_configure_flags.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/nginx/deployment_example.txt.erb +0 -0
- data/resources/templates/nginx/not_available_when_natively_packaged.txt.erb +8 -0
- data/{lib/phusion_passenger → resources}/templates/nginx/pcre_could_not_be_downloaded.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/nginx/pcre_could_not_be_extracted.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/nginx/possible_solutions_for_compilation_and_installation_problems.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/nginx/possible_solutions_for_download_and_extraction_problems.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/nginx/query_download_and_install.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/nginx/run_installer_as_root.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/nginx/welcome.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/standalone/cannot_write_to_dir.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/standalone/config.erb +26 -5
- data/{lib/phusion_passenger → resources}/templates/standalone/possible_solutions_for_download_and_extraction_problems.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/standalone/run_installer_as_root.txt.erb +0 -0
- data/{lib/phusion_passenger → resources}/templates/standalone/welcome.txt.erb +0 -0
- data/resources/templates/undisclosed_error.html.template +25 -0
- data/test/config.json.example +42 -0
- data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +86 -0
- data/test/cxx/ApplicationPool2/OptionsTest.cpp +44 -0
- data/test/cxx/ApplicationPool2/PoolTest.cpp +1234 -0
- data/test/cxx/ApplicationPool2/ProcessTest.cpp +131 -0
- data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +229 -0
- data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +744 -0
- data/test/cxx/BufferedIOTest.cpp +7 -7
- data/test/cxx/CxxTestMain.cpp +65 -2
- data/test/cxx/FileBackedPipeTest.cpp +626 -0
- data/test/cxx/FileChangeCheckerTest.cpp +20 -18
- data/test/cxx/FilterSupportTest.cpp +5 -5
- data/test/cxx/IOUtilsTest.cpp +11 -4
- data/test/cxx/MessageReadersWritersTest.cpp +1 -1
- data/test/cxx/MessageServerTest.cpp +31 -30
- data/test/cxx/RequestHandlerTest.cpp +777 -0
- data/test/cxx/ScgiRequestParserTest.cpp +36 -16
- data/test/cxx/ServerInstanceDirTest.cpp +1 -1
- data/test/cxx/StringMapTest.cpp +61 -0
- data/test/cxx/TemplateTest.cpp +118 -0
- data/test/cxx/TestSupport.cpp +25 -68
- data/test/cxx/TestSupport.h +81 -41
- data/test/cxx/{LoggingTest.cpp → UnionStationTest.cpp} +79 -74
- data/test/cxx/UtilsTest.cpp +59 -5
- data/test/integration_tests/apache2_tests.rb +2 -2
- data/test/integration_tests/nginx_tests.rb +1 -1
- data/test/integration_tests/spec_helper.rb +7 -5
- data/test/oxt/oxt_test_main.cpp +2 -0
- data/test/oxt/syscall_interruption_test.cpp +1 -0
- data/test/ruby/classic_rails/loader_spec.rb +48 -0
- data/test/ruby/classic_rails/preloader_spec.rb +54 -0
- data/test/ruby/rack/loader_spec.rb +62 -0
- data/test/ruby/rack/preloader_spec.rb +74 -0
- data/test/ruby/{abstract_request_handler_spec.rb → request_handler_spec.rb} +31 -68
- data/test/ruby/shared/loader_spec.rb +241 -0
- data/test/ruby/shared/rails/analytics_logging_extensions_spec.rb +141 -182
- data/test/ruby/shared/ruby_loader_spec.rb +55 -0
- data/test/ruby/spec_helper.rb +8 -53
- data/test/ruby/utils/file_system_watcher_spec.rb +9 -1
- data/test/ruby/utils_spec.rb +10 -683
- data/test/stub/rack/config.ru +28 -3
- data/test/stub/rack/start.rb +47 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/Rakefile +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/app/controllers/application_controller.rb +0 -2
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/app/controllers/bar_controller_1.rb +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/app/controllers/bar_controller_2.rb +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/app/controllers/foo_controller.rb +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/app/helpers/application_helper.rb +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/config/boot.rb +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/config/database.yml +3 -3
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/config/environment.rb +5 -2
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/config/environments/development.rb +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/config/environments/production.rb +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/config/environments/staging.rb +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/config/initializers/inflections.rb +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/config/initializers/mime_types.rb +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/config/routes.rb +1 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/about +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/console +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/dbconsole +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/destroy +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/generate +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/performance/benchmarker +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/performance/profiler +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/performance/request +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/plugin +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/process/inspector +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/process/reaper +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/process/spawner +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/runner +0 -0
- data/test/stub/{rails_apps/2.3/foobar → rails2.3}/script/server +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/Gemfile +0 -0
- data/test/stub/rails3.0/Gemfile.lock +80 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/Rakefile +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/app/controllers/application_controller.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/app/helpers/application_helper.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/app/views/layouts/application.html.erb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config.ru +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/application.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/boot.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/database.yml +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/environment.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/environments/development.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/environments/production.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/environments/test.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/initializers/backtrace_silencers.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/initializers/inflections.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/initializers/mime_types.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/initializers/passenger.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/initializers/secret_token.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/initializers/session_store.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/locales/en.yml +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/config/routes.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/db/seeds.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/doc/README_FOR_APP +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/public/404.html +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/public/422.html +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/public/500.html +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/public/favicon.ico +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/public/index.html +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/public/robots.txt +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/script/rails +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/test/performance/browsing_test.rb +0 -0
- data/test/stub/{rails_apps/3.0/empty → rails3.0}/test/test_helper.rb +0 -0
- data/test/stub/start_error.pl +24 -0
- data/test/stub/wsgi/passenger_wsgi.py +71 -3
- data/test/support/apache2_controller.rb +2 -2
- data/test/support/placebo-preloader.rb +88 -0
- data/test/support/test_helper.rb +1 -14
- data/test/tut/tut.h +11 -4
- metadata +590 -326
- data.tar.gz.asc +0 -12
- data/PACKAGING.TXT +0 -25
- data/build/config.rb +0 -46
- data/ext/apache2/HelperAgent.cpp +0 -364
- data/ext/boost/call_traits.hpp +0 -24
- data/ext/boost/detail/call_traits.hpp +0 -164
- data/ext/common/AbstractSpawnManager.h +0 -110
- data/ext/common/AgentBase.cpp +0 -432
- data/ext/common/ApplicationPool/Client.h +0 -788
- data/ext/common/ApplicationPool/Interface.h +0 -295
- data/ext/common/ApplicationPool/Pool.h +0 -1327
- data/ext/common/ApplicationPool/Server.h +0 -479
- data/ext/common/MessageChannel.h +0 -494
- data/ext/common/PoolOptions.h +0 -518
- data/ext/common/Process.h +0 -253
- data/ext/common/Session.h +0 -436
- data/ext/common/SpawnManager.h +0 -611
- data/ext/google/ChangeLog +0 -167
- data/ext/google/dense_hash_map +0 -310
- data/ext/google/dense_hash_set +0 -287
- data/ext/google/sparse_hash_map +0 -294
- data/ext/google/sparse_hash_set +0 -275
- data/ext/google/sparsehash/densehashtable.h +0 -1062
- data/ext/google/sparsehash/sparseconfig.h +0 -55
- data/ext/google/sparsehash/sparsehashtable.h +0 -1015
- data/ext/google/sparsetable +0 -1468
- data/ext/google/type_traits.h +0 -250
- data/ext/nginx/HelperAgent.cpp +0 -1355
- data/ext/nginx/ScgiRequestParser.h +0 -375
- data/ext/oxt/backtrace.cpp +0 -185
- data/ext/oxt/tracable_exception.cpp +0 -89
- data/helper-scripts/passenger-spawn-server +0 -106
- data/lib/phusion_passenger/abstract_request_handler.rb +0 -766
- data/lib/phusion_passenger/abstract_server.rb +0 -372
- data/lib/phusion_passenger/abstract_server_collection.rb +0 -335
- data/lib/phusion_passenger/app_process.rb +0 -174
- data/lib/phusion_passenger/classic_rails/application_spawner.rb +0 -344
- data/lib/phusion_passenger/classic_rails/framework_spawner.rb +0 -311
- data/lib/phusion_passenger/exceptions.rb +0 -103
- data/lib/phusion_passenger/html_template.rb +0 -107
- data/lib/phusion_passenger/rack/application_spawner.rb +0 -231
- data/lib/phusion_passenger/spawn_manager.rb +0 -359
- data/lib/phusion_passenger/templates/app_exited_during_initialization.html.erb +0 -38
- data/lib/phusion_passenger/templates/app_init_error.html.erb +0 -64
- data/lib/phusion_passenger/templates/database_error.html.erb +0 -66
- data/lib/phusion_passenger/templates/error_layout.html.erb +0 -39
- data/lib/phusion_passenger/templates/framework_init_error.html.erb +0 -39
- data/lib/phusion_passenger/templates/general_error.html.erb +0 -22
- data/lib/phusion_passenger/templates/load_error.html.erb +0 -46
- data/lib/phusion_passenger/templates/version_not_found.html.erb +0 -34
- data/lib/phusion_passenger/utils/rewindable_input.rb +0 -125
- data/lib/phusion_passenger/wsgi/application_spawner.rb +0 -108
- data/test/config.yml.example +0 -41
- data/test/cxx/ApplicationPool_PoolTest.cpp +0 -33
- data/test/cxx/ApplicationPool_PoolTestCases.cpp +0 -1029
- data/test/cxx/ApplicationPool_ServerTest.cpp +0 -308
- data/test/cxx/ApplicationPool_Server_PoolTest.cpp +0 -80
- data/test/cxx/MessageChannelTest.cpp +0 -557
- data/test/cxx/PoolOptionsTest.cpp +0 -116
- data/test/cxx/SpawnManagerTest.cpp +0 -161
- data/test/ruby/abstract_server_collection_spec.rb +0 -247
- data/test/ruby/abstract_server_spec.rb +0 -61
- data/test/ruby/app_process_spec.rb +0 -43
- data/test/ruby/classic_rails/application_spawner_spec.rb +0 -89
- data/test/ruby/classic_rails/framework_spawner_spec.rb +0 -92
- data/test/ruby/rack/application_spawner_spec.rb +0 -116
- data/test/ruby/shared/abstract_server_spec.rb +0 -23
- data/test/ruby/shared/spawners/classic_rails/framework_spawner_spec.rb +0 -38
- data/test/ruby/shared/spawners/classic_rails/lack_of_rails_gem_version_spec.rb +0 -19
- data/test/ruby/shared/spawners/classic_rails/spawner_spec.rb +0 -15
- data/test/ruby/shared/spawners/non_preloading_spawner_spec.rb +0 -27
- data/test/ruby/shared/spawners/preloading_spawner_spec.rb +0 -29
- data/test/ruby/shared/spawners/reload_all_spec.rb +0 -36
- data/test/ruby/shared/spawners/reload_single_spec.rb +0 -52
- data/test/ruby/shared/spawners/spawn_server_spec.rb +0 -28
- data/test/ruby/shared/spawners/spawner_spec.rb +0 -273
- data/test/ruby/shared/utils/pseudo_io_spec.rb +0 -60
- data/test/ruby/spawn_manager_spec.rb +0 -134
- data/test/ruby/wsgi/application_spawner_spec.rb +0 -50
- data/test/stub/message_channel.rb +0 -11
- data/test/stub/message_channel_2.rb +0 -12
- data/test/stub/message_channel_3.rb +0 -19
- data/test/stub/rails_apps/3.0/empty/Gemfile.lock +0 -73
- data/test/stub/spawn_server.rb +0 -22
- metadata.gz.asc +0 -12
@@ -0,0 +1,1144 @@
|
|
1
|
+
|
2
|
+
// Copyright Aleksey Gurtovoy 2000-2004
|
3
|
+
//
|
4
|
+
// Distributed under the Boost Software License, Version 1.0.
|
5
|
+
// (See accompanying file LICENSE_1_0.txt or copy at
|
6
|
+
// http://www.boost.org/LICENSE_1_0.txt)
|
7
|
+
//
|
8
|
+
|
9
|
+
// Preprocessed version of "boost/mpl/vector/vector20.hpp" header
|
10
|
+
// -- DO NOT modify by hand!
|
11
|
+
|
12
|
+
namespace boost { namespace mpl {
|
13
|
+
|
14
|
+
template<
|
15
|
+
typename T0, typename T1, typename T2, typename T3, typename T4
|
16
|
+
, typename T5, typename T6, typename T7, typename T8, typename T9
|
17
|
+
, typename T10
|
18
|
+
>
|
19
|
+
struct vector11
|
20
|
+
{
|
21
|
+
typedef aux::vector_tag<11> tag;
|
22
|
+
typedef vector11 type;
|
23
|
+
typedef T0 item0;
|
24
|
+
typedef T1 item1;
|
25
|
+
typedef T2 item2;
|
26
|
+
typedef T3 item3;
|
27
|
+
typedef T4 item4;
|
28
|
+
typedef T5 item5;
|
29
|
+
typedef T6 item6;
|
30
|
+
typedef T7 item7;
|
31
|
+
typedef T8 item8;
|
32
|
+
typedef T9 item9;
|
33
|
+
typedef T10 item10;
|
34
|
+
|
35
|
+
|
36
|
+
typedef void_ item11;
|
37
|
+
typedef T10 back;
|
38
|
+
typedef v_iter< type,0 > begin;
|
39
|
+
typedef v_iter< type,11 > end;
|
40
|
+
};
|
41
|
+
|
42
|
+
template<>
|
43
|
+
struct push_front_impl< aux::vector_tag<10> >
|
44
|
+
{
|
45
|
+
template< typename Vector, typename T > struct apply
|
46
|
+
{
|
47
|
+
typedef vector11<
|
48
|
+
T
|
49
|
+
,
|
50
|
+
typename Vector::item0, typename Vector::item1
|
51
|
+
, typename Vector::item2, typename Vector::item3
|
52
|
+
, typename Vector::item4, typename Vector::item5
|
53
|
+
, typename Vector::item6, typename Vector::item7
|
54
|
+
, typename Vector::item8, typename Vector::item9
|
55
|
+
> type;
|
56
|
+
};
|
57
|
+
};
|
58
|
+
|
59
|
+
template<>
|
60
|
+
struct pop_front_impl< aux::vector_tag<11> >
|
61
|
+
{
|
62
|
+
template< typename Vector > struct apply
|
63
|
+
{
|
64
|
+
typedef vector10<
|
65
|
+
typename Vector::item1, typename Vector::item2
|
66
|
+
, typename Vector::item3, typename Vector::item4
|
67
|
+
, typename Vector::item5, typename Vector::item6
|
68
|
+
, typename Vector::item7, typename Vector::item8
|
69
|
+
, typename Vector::item9, typename Vector::item10
|
70
|
+
> type;
|
71
|
+
};
|
72
|
+
};
|
73
|
+
|
74
|
+
template<>
|
75
|
+
struct push_back_impl< aux::vector_tag<10> >
|
76
|
+
{
|
77
|
+
template< typename Vector, typename T > struct apply
|
78
|
+
{
|
79
|
+
typedef vector11<
|
80
|
+
typename Vector::item0, typename Vector::item1
|
81
|
+
, typename Vector::item2, typename Vector::item3
|
82
|
+
, typename Vector::item4, typename Vector::item5
|
83
|
+
, typename Vector::item6, typename Vector::item7
|
84
|
+
, typename Vector::item8, typename Vector::item9
|
85
|
+
,
|
86
|
+
T
|
87
|
+
> type;
|
88
|
+
};
|
89
|
+
};
|
90
|
+
|
91
|
+
template<>
|
92
|
+
struct pop_back_impl< aux::vector_tag<11> >
|
93
|
+
{
|
94
|
+
template< typename Vector > struct apply
|
95
|
+
{
|
96
|
+
typedef vector10<
|
97
|
+
typename Vector::item0, typename Vector::item1
|
98
|
+
, typename Vector::item2, typename Vector::item3
|
99
|
+
, typename Vector::item4, typename Vector::item5
|
100
|
+
, typename Vector::item6, typename Vector::item7
|
101
|
+
, typename Vector::item8, typename Vector::item9
|
102
|
+
> type;
|
103
|
+
};
|
104
|
+
};
|
105
|
+
|
106
|
+
template< typename V >
|
107
|
+
struct v_at< V,11 >
|
108
|
+
{
|
109
|
+
typedef typename V::item11 type;
|
110
|
+
};
|
111
|
+
|
112
|
+
template<
|
113
|
+
typename T0, typename T1, typename T2, typename T3, typename T4
|
114
|
+
, typename T5, typename T6, typename T7, typename T8, typename T9
|
115
|
+
, typename T10, typename T11
|
116
|
+
>
|
117
|
+
struct vector12
|
118
|
+
{
|
119
|
+
typedef aux::vector_tag<12> tag;
|
120
|
+
typedef vector12 type;
|
121
|
+
typedef T0 item0;
|
122
|
+
typedef T1 item1;
|
123
|
+
typedef T2 item2;
|
124
|
+
typedef T3 item3;
|
125
|
+
typedef T4 item4;
|
126
|
+
typedef T5 item5;
|
127
|
+
typedef T6 item6;
|
128
|
+
typedef T7 item7;
|
129
|
+
typedef T8 item8;
|
130
|
+
typedef T9 item9;
|
131
|
+
typedef T10 item10;
|
132
|
+
typedef T11 item11;
|
133
|
+
|
134
|
+
|
135
|
+
typedef void_ item12;
|
136
|
+
typedef T11 back;
|
137
|
+
typedef v_iter< type,0 > begin;
|
138
|
+
typedef v_iter< type,12 > end;
|
139
|
+
};
|
140
|
+
|
141
|
+
template<>
|
142
|
+
struct push_front_impl< aux::vector_tag<11> >
|
143
|
+
{
|
144
|
+
template< typename Vector, typename T > struct apply
|
145
|
+
{
|
146
|
+
typedef vector12<
|
147
|
+
T
|
148
|
+
,
|
149
|
+
typename Vector::item0, typename Vector::item1
|
150
|
+
, typename Vector::item2, typename Vector::item3
|
151
|
+
, typename Vector::item4, typename Vector::item5
|
152
|
+
, typename Vector::item6, typename Vector::item7
|
153
|
+
, typename Vector::item8, typename Vector::item9
|
154
|
+
, typename Vector::item10
|
155
|
+
> type;
|
156
|
+
};
|
157
|
+
};
|
158
|
+
|
159
|
+
template<>
|
160
|
+
struct pop_front_impl< aux::vector_tag<12> >
|
161
|
+
{
|
162
|
+
template< typename Vector > struct apply
|
163
|
+
{
|
164
|
+
typedef vector11<
|
165
|
+
typename Vector::item1, typename Vector::item2
|
166
|
+
, typename Vector::item3, typename Vector::item4
|
167
|
+
, typename Vector::item5, typename Vector::item6
|
168
|
+
, typename Vector::item7, typename Vector::item8
|
169
|
+
, typename Vector::item9, typename Vector::item10
|
170
|
+
, typename Vector::item11
|
171
|
+
> type;
|
172
|
+
};
|
173
|
+
};
|
174
|
+
|
175
|
+
template<>
|
176
|
+
struct push_back_impl< aux::vector_tag<11> >
|
177
|
+
{
|
178
|
+
template< typename Vector, typename T > struct apply
|
179
|
+
{
|
180
|
+
typedef vector12<
|
181
|
+
typename Vector::item0, typename Vector::item1
|
182
|
+
, typename Vector::item2, typename Vector::item3
|
183
|
+
, typename Vector::item4, typename Vector::item5
|
184
|
+
, typename Vector::item6, typename Vector::item7
|
185
|
+
, typename Vector::item8, typename Vector::item9
|
186
|
+
, typename Vector::item10
|
187
|
+
,
|
188
|
+
T
|
189
|
+
> type;
|
190
|
+
};
|
191
|
+
};
|
192
|
+
|
193
|
+
template<>
|
194
|
+
struct pop_back_impl< aux::vector_tag<12> >
|
195
|
+
{
|
196
|
+
template< typename Vector > struct apply
|
197
|
+
{
|
198
|
+
typedef vector11<
|
199
|
+
typename Vector::item0, typename Vector::item1
|
200
|
+
, typename Vector::item2, typename Vector::item3
|
201
|
+
, typename Vector::item4, typename Vector::item5
|
202
|
+
, typename Vector::item6, typename Vector::item7
|
203
|
+
, typename Vector::item8, typename Vector::item9
|
204
|
+
, typename Vector::item10
|
205
|
+
> type;
|
206
|
+
};
|
207
|
+
};
|
208
|
+
|
209
|
+
template< typename V >
|
210
|
+
struct v_at< V,12 >
|
211
|
+
{
|
212
|
+
typedef typename V::item12 type;
|
213
|
+
};
|
214
|
+
|
215
|
+
template<
|
216
|
+
typename T0, typename T1, typename T2, typename T3, typename T4
|
217
|
+
, typename T5, typename T6, typename T7, typename T8, typename T9
|
218
|
+
, typename T10, typename T11, typename T12
|
219
|
+
>
|
220
|
+
struct vector13
|
221
|
+
{
|
222
|
+
typedef aux::vector_tag<13> tag;
|
223
|
+
typedef vector13 type;
|
224
|
+
typedef T0 item0;
|
225
|
+
typedef T1 item1;
|
226
|
+
typedef T2 item2;
|
227
|
+
typedef T3 item3;
|
228
|
+
typedef T4 item4;
|
229
|
+
typedef T5 item5;
|
230
|
+
typedef T6 item6;
|
231
|
+
typedef T7 item7;
|
232
|
+
typedef T8 item8;
|
233
|
+
typedef T9 item9;
|
234
|
+
typedef T10 item10;
|
235
|
+
typedef T11 item11;
|
236
|
+
typedef T12 item12;
|
237
|
+
|
238
|
+
|
239
|
+
typedef void_ item13;
|
240
|
+
typedef T12 back;
|
241
|
+
typedef v_iter< type,0 > begin;
|
242
|
+
typedef v_iter< type,13 > end;
|
243
|
+
};
|
244
|
+
|
245
|
+
template<>
|
246
|
+
struct push_front_impl< aux::vector_tag<12> >
|
247
|
+
{
|
248
|
+
template< typename Vector, typename T > struct apply
|
249
|
+
{
|
250
|
+
typedef vector13<
|
251
|
+
T
|
252
|
+
,
|
253
|
+
typename Vector::item0, typename Vector::item1
|
254
|
+
, typename Vector::item2, typename Vector::item3
|
255
|
+
, typename Vector::item4, typename Vector::item5
|
256
|
+
, typename Vector::item6, typename Vector::item7
|
257
|
+
, typename Vector::item8, typename Vector::item9
|
258
|
+
, typename Vector::item10, typename Vector::item11
|
259
|
+
> type;
|
260
|
+
};
|
261
|
+
};
|
262
|
+
|
263
|
+
template<>
|
264
|
+
struct pop_front_impl< aux::vector_tag<13> >
|
265
|
+
{
|
266
|
+
template< typename Vector > struct apply
|
267
|
+
{
|
268
|
+
typedef vector12<
|
269
|
+
typename Vector::item1, typename Vector::item2
|
270
|
+
, typename Vector::item3, typename Vector::item4
|
271
|
+
, typename Vector::item5, typename Vector::item6
|
272
|
+
, typename Vector::item7, typename Vector::item8
|
273
|
+
, typename Vector::item9, typename Vector::item10
|
274
|
+
, typename Vector::item11, typename Vector::item12
|
275
|
+
> type;
|
276
|
+
};
|
277
|
+
};
|
278
|
+
|
279
|
+
template<>
|
280
|
+
struct push_back_impl< aux::vector_tag<12> >
|
281
|
+
{
|
282
|
+
template< typename Vector, typename T > struct apply
|
283
|
+
{
|
284
|
+
typedef vector13<
|
285
|
+
typename Vector::item0, typename Vector::item1
|
286
|
+
, typename Vector::item2, typename Vector::item3
|
287
|
+
, typename Vector::item4, typename Vector::item5
|
288
|
+
, typename Vector::item6, typename Vector::item7
|
289
|
+
, typename Vector::item8, typename Vector::item9
|
290
|
+
, typename Vector::item10, typename Vector::item11
|
291
|
+
,
|
292
|
+
T
|
293
|
+
> type;
|
294
|
+
};
|
295
|
+
};
|
296
|
+
|
297
|
+
template<>
|
298
|
+
struct pop_back_impl< aux::vector_tag<13> >
|
299
|
+
{
|
300
|
+
template< typename Vector > struct apply
|
301
|
+
{
|
302
|
+
typedef vector12<
|
303
|
+
typename Vector::item0, typename Vector::item1
|
304
|
+
, typename Vector::item2, typename Vector::item3
|
305
|
+
, typename Vector::item4, typename Vector::item5
|
306
|
+
, typename Vector::item6, typename Vector::item7
|
307
|
+
, typename Vector::item8, typename Vector::item9
|
308
|
+
, typename Vector::item10, typename Vector::item11
|
309
|
+
> type;
|
310
|
+
};
|
311
|
+
};
|
312
|
+
|
313
|
+
template< typename V >
|
314
|
+
struct v_at< V,13 >
|
315
|
+
{
|
316
|
+
typedef typename V::item13 type;
|
317
|
+
};
|
318
|
+
|
319
|
+
template<
|
320
|
+
typename T0, typename T1, typename T2, typename T3, typename T4
|
321
|
+
, typename T5, typename T6, typename T7, typename T8, typename T9
|
322
|
+
, typename T10, typename T11, typename T12, typename T13
|
323
|
+
>
|
324
|
+
struct vector14
|
325
|
+
{
|
326
|
+
typedef aux::vector_tag<14> tag;
|
327
|
+
typedef vector14 type;
|
328
|
+
typedef T0 item0;
|
329
|
+
typedef T1 item1;
|
330
|
+
typedef T2 item2;
|
331
|
+
typedef T3 item3;
|
332
|
+
typedef T4 item4;
|
333
|
+
typedef T5 item5;
|
334
|
+
typedef T6 item6;
|
335
|
+
typedef T7 item7;
|
336
|
+
typedef T8 item8;
|
337
|
+
typedef T9 item9;
|
338
|
+
typedef T10 item10;
|
339
|
+
typedef T11 item11;
|
340
|
+
typedef T12 item12;
|
341
|
+
typedef T13 item13;
|
342
|
+
|
343
|
+
|
344
|
+
typedef void_ item14;
|
345
|
+
typedef T13 back;
|
346
|
+
typedef v_iter< type,0 > begin;
|
347
|
+
typedef v_iter< type,14 > end;
|
348
|
+
};
|
349
|
+
|
350
|
+
template<>
|
351
|
+
struct push_front_impl< aux::vector_tag<13> >
|
352
|
+
{
|
353
|
+
template< typename Vector, typename T > struct apply
|
354
|
+
{
|
355
|
+
typedef vector14<
|
356
|
+
T
|
357
|
+
,
|
358
|
+
typename Vector::item0, typename Vector::item1
|
359
|
+
, typename Vector::item2, typename Vector::item3
|
360
|
+
, typename Vector::item4, typename Vector::item5
|
361
|
+
, typename Vector::item6, typename Vector::item7
|
362
|
+
, typename Vector::item8, typename Vector::item9
|
363
|
+
, typename Vector::item10, typename Vector::item11
|
364
|
+
, typename Vector::item12
|
365
|
+
> type;
|
366
|
+
};
|
367
|
+
};
|
368
|
+
|
369
|
+
template<>
|
370
|
+
struct pop_front_impl< aux::vector_tag<14> >
|
371
|
+
{
|
372
|
+
template< typename Vector > struct apply
|
373
|
+
{
|
374
|
+
typedef vector13<
|
375
|
+
typename Vector::item1, typename Vector::item2
|
376
|
+
, typename Vector::item3, typename Vector::item4
|
377
|
+
, typename Vector::item5, typename Vector::item6
|
378
|
+
, typename Vector::item7, typename Vector::item8
|
379
|
+
, typename Vector::item9, typename Vector::item10
|
380
|
+
, typename Vector::item11, typename Vector::item12
|
381
|
+
, typename Vector::item13
|
382
|
+
> type;
|
383
|
+
};
|
384
|
+
};
|
385
|
+
|
386
|
+
template<>
|
387
|
+
struct push_back_impl< aux::vector_tag<13> >
|
388
|
+
{
|
389
|
+
template< typename Vector, typename T > struct apply
|
390
|
+
{
|
391
|
+
typedef vector14<
|
392
|
+
typename Vector::item0, typename Vector::item1
|
393
|
+
, typename Vector::item2, typename Vector::item3
|
394
|
+
, typename Vector::item4, typename Vector::item5
|
395
|
+
, typename Vector::item6, typename Vector::item7
|
396
|
+
, typename Vector::item8, typename Vector::item9
|
397
|
+
, typename Vector::item10, typename Vector::item11
|
398
|
+
, typename Vector::item12
|
399
|
+
,
|
400
|
+
T
|
401
|
+
> type;
|
402
|
+
};
|
403
|
+
};
|
404
|
+
|
405
|
+
template<>
|
406
|
+
struct pop_back_impl< aux::vector_tag<14> >
|
407
|
+
{
|
408
|
+
template< typename Vector > struct apply
|
409
|
+
{
|
410
|
+
typedef vector13<
|
411
|
+
typename Vector::item0, typename Vector::item1
|
412
|
+
, typename Vector::item2, typename Vector::item3
|
413
|
+
, typename Vector::item4, typename Vector::item5
|
414
|
+
, typename Vector::item6, typename Vector::item7
|
415
|
+
, typename Vector::item8, typename Vector::item9
|
416
|
+
, typename Vector::item10, typename Vector::item11
|
417
|
+
, typename Vector::item12
|
418
|
+
> type;
|
419
|
+
};
|
420
|
+
};
|
421
|
+
|
422
|
+
template< typename V >
|
423
|
+
struct v_at< V,14 >
|
424
|
+
{
|
425
|
+
typedef typename V::item14 type;
|
426
|
+
};
|
427
|
+
|
428
|
+
template<
|
429
|
+
typename T0, typename T1, typename T2, typename T3, typename T4
|
430
|
+
, typename T5, typename T6, typename T7, typename T8, typename T9
|
431
|
+
, typename T10, typename T11, typename T12, typename T13, typename T14
|
432
|
+
>
|
433
|
+
struct vector15
|
434
|
+
{
|
435
|
+
typedef aux::vector_tag<15> tag;
|
436
|
+
typedef vector15 type;
|
437
|
+
typedef T0 item0;
|
438
|
+
typedef T1 item1;
|
439
|
+
typedef T2 item2;
|
440
|
+
typedef T3 item3;
|
441
|
+
typedef T4 item4;
|
442
|
+
typedef T5 item5;
|
443
|
+
typedef T6 item6;
|
444
|
+
typedef T7 item7;
|
445
|
+
typedef T8 item8;
|
446
|
+
typedef T9 item9;
|
447
|
+
typedef T10 item10;
|
448
|
+
typedef T11 item11;
|
449
|
+
typedef T12 item12;
|
450
|
+
typedef T13 item13;
|
451
|
+
typedef T14 item14;
|
452
|
+
|
453
|
+
|
454
|
+
typedef void_ item15;
|
455
|
+
typedef T14 back;
|
456
|
+
typedef v_iter< type,0 > begin;
|
457
|
+
typedef v_iter< type,15 > end;
|
458
|
+
};
|
459
|
+
|
460
|
+
template<>
|
461
|
+
struct push_front_impl< aux::vector_tag<14> >
|
462
|
+
{
|
463
|
+
template< typename Vector, typename T > struct apply
|
464
|
+
{
|
465
|
+
typedef vector15<
|
466
|
+
T
|
467
|
+
,
|
468
|
+
typename Vector::item0, typename Vector::item1
|
469
|
+
, typename Vector::item2, typename Vector::item3
|
470
|
+
, typename Vector::item4, typename Vector::item5
|
471
|
+
, typename Vector::item6, typename Vector::item7
|
472
|
+
, typename Vector::item8, typename Vector::item9
|
473
|
+
, typename Vector::item10, typename Vector::item11
|
474
|
+
, typename Vector::item12, typename Vector::item13
|
475
|
+
> type;
|
476
|
+
};
|
477
|
+
};
|
478
|
+
|
479
|
+
template<>
|
480
|
+
struct pop_front_impl< aux::vector_tag<15> >
|
481
|
+
{
|
482
|
+
template< typename Vector > struct apply
|
483
|
+
{
|
484
|
+
typedef vector14<
|
485
|
+
typename Vector::item1, typename Vector::item2
|
486
|
+
, typename Vector::item3, typename Vector::item4
|
487
|
+
, typename Vector::item5, typename Vector::item6
|
488
|
+
, typename Vector::item7, typename Vector::item8
|
489
|
+
, typename Vector::item9, typename Vector::item10
|
490
|
+
, typename Vector::item11, typename Vector::item12
|
491
|
+
, typename Vector::item13, typename Vector::item14
|
492
|
+
> type;
|
493
|
+
};
|
494
|
+
};
|
495
|
+
|
496
|
+
template<>
|
497
|
+
struct push_back_impl< aux::vector_tag<14> >
|
498
|
+
{
|
499
|
+
template< typename Vector, typename T > struct apply
|
500
|
+
{
|
501
|
+
typedef vector15<
|
502
|
+
typename Vector::item0, typename Vector::item1
|
503
|
+
, typename Vector::item2, typename Vector::item3
|
504
|
+
, typename Vector::item4, typename Vector::item5
|
505
|
+
, typename Vector::item6, typename Vector::item7
|
506
|
+
, typename Vector::item8, typename Vector::item9
|
507
|
+
, typename Vector::item10, typename Vector::item11
|
508
|
+
, typename Vector::item12, typename Vector::item13
|
509
|
+
,
|
510
|
+
T
|
511
|
+
> type;
|
512
|
+
};
|
513
|
+
};
|
514
|
+
|
515
|
+
template<>
|
516
|
+
struct pop_back_impl< aux::vector_tag<15> >
|
517
|
+
{
|
518
|
+
template< typename Vector > struct apply
|
519
|
+
{
|
520
|
+
typedef vector14<
|
521
|
+
typename Vector::item0, typename Vector::item1
|
522
|
+
, typename Vector::item2, typename Vector::item3
|
523
|
+
, typename Vector::item4, typename Vector::item5
|
524
|
+
, typename Vector::item6, typename Vector::item7
|
525
|
+
, typename Vector::item8, typename Vector::item9
|
526
|
+
, typename Vector::item10, typename Vector::item11
|
527
|
+
, typename Vector::item12, typename Vector::item13
|
528
|
+
> type;
|
529
|
+
};
|
530
|
+
};
|
531
|
+
|
532
|
+
template< typename V >
|
533
|
+
struct v_at< V,15 >
|
534
|
+
{
|
535
|
+
typedef typename V::item15 type;
|
536
|
+
};
|
537
|
+
|
538
|
+
template<
|
539
|
+
typename T0, typename T1, typename T2, typename T3, typename T4
|
540
|
+
, typename T5, typename T6, typename T7, typename T8, typename T9
|
541
|
+
, typename T10, typename T11, typename T12, typename T13, typename T14
|
542
|
+
, typename T15
|
543
|
+
>
|
544
|
+
struct vector16
|
545
|
+
{
|
546
|
+
typedef aux::vector_tag<16> tag;
|
547
|
+
typedef vector16 type;
|
548
|
+
typedef T0 item0;
|
549
|
+
typedef T1 item1;
|
550
|
+
typedef T2 item2;
|
551
|
+
typedef T3 item3;
|
552
|
+
typedef T4 item4;
|
553
|
+
typedef T5 item5;
|
554
|
+
typedef T6 item6;
|
555
|
+
typedef T7 item7;
|
556
|
+
typedef T8 item8;
|
557
|
+
typedef T9 item9;
|
558
|
+
typedef T10 item10;
|
559
|
+
typedef T11 item11;
|
560
|
+
typedef T12 item12;
|
561
|
+
typedef T13 item13;
|
562
|
+
typedef T14 item14;
|
563
|
+
typedef T15 item15;
|
564
|
+
|
565
|
+
|
566
|
+
typedef void_ item16;
|
567
|
+
typedef T15 back;
|
568
|
+
typedef v_iter< type,0 > begin;
|
569
|
+
typedef v_iter< type,16 > end;
|
570
|
+
};
|
571
|
+
|
572
|
+
template<>
|
573
|
+
struct push_front_impl< aux::vector_tag<15> >
|
574
|
+
{
|
575
|
+
template< typename Vector, typename T > struct apply
|
576
|
+
{
|
577
|
+
typedef vector16<
|
578
|
+
T
|
579
|
+
,
|
580
|
+
typename Vector::item0, typename Vector::item1
|
581
|
+
, typename Vector::item2, typename Vector::item3
|
582
|
+
, typename Vector::item4, typename Vector::item5
|
583
|
+
, typename Vector::item6, typename Vector::item7
|
584
|
+
, typename Vector::item8, typename Vector::item9
|
585
|
+
, typename Vector::item10, typename Vector::item11
|
586
|
+
, typename Vector::item12, typename Vector::item13
|
587
|
+
, typename Vector::item14
|
588
|
+
> type;
|
589
|
+
};
|
590
|
+
};
|
591
|
+
|
592
|
+
template<>
|
593
|
+
struct pop_front_impl< aux::vector_tag<16> >
|
594
|
+
{
|
595
|
+
template< typename Vector > struct apply
|
596
|
+
{
|
597
|
+
typedef vector15<
|
598
|
+
typename Vector::item1, typename Vector::item2
|
599
|
+
, typename Vector::item3, typename Vector::item4
|
600
|
+
, typename Vector::item5, typename Vector::item6
|
601
|
+
, typename Vector::item7, typename Vector::item8
|
602
|
+
, typename Vector::item9, typename Vector::item10
|
603
|
+
, typename Vector::item11, typename Vector::item12
|
604
|
+
, typename Vector::item13, typename Vector::item14
|
605
|
+
, typename Vector::item15
|
606
|
+
> type;
|
607
|
+
};
|
608
|
+
};
|
609
|
+
|
610
|
+
template<>
|
611
|
+
struct push_back_impl< aux::vector_tag<15> >
|
612
|
+
{
|
613
|
+
template< typename Vector, typename T > struct apply
|
614
|
+
{
|
615
|
+
typedef vector16<
|
616
|
+
typename Vector::item0, typename Vector::item1
|
617
|
+
, typename Vector::item2, typename Vector::item3
|
618
|
+
, typename Vector::item4, typename Vector::item5
|
619
|
+
, typename Vector::item6, typename Vector::item7
|
620
|
+
, typename Vector::item8, typename Vector::item9
|
621
|
+
, typename Vector::item10, typename Vector::item11
|
622
|
+
, typename Vector::item12, typename Vector::item13
|
623
|
+
, typename Vector::item14
|
624
|
+
,
|
625
|
+
T
|
626
|
+
> type;
|
627
|
+
};
|
628
|
+
};
|
629
|
+
|
630
|
+
template<>
|
631
|
+
struct pop_back_impl< aux::vector_tag<16> >
|
632
|
+
{
|
633
|
+
template< typename Vector > struct apply
|
634
|
+
{
|
635
|
+
typedef vector15<
|
636
|
+
typename Vector::item0, typename Vector::item1
|
637
|
+
, typename Vector::item2, typename Vector::item3
|
638
|
+
, typename Vector::item4, typename Vector::item5
|
639
|
+
, typename Vector::item6, typename Vector::item7
|
640
|
+
, typename Vector::item8, typename Vector::item9
|
641
|
+
, typename Vector::item10, typename Vector::item11
|
642
|
+
, typename Vector::item12, typename Vector::item13
|
643
|
+
, typename Vector::item14
|
644
|
+
> type;
|
645
|
+
};
|
646
|
+
};
|
647
|
+
|
648
|
+
template< typename V >
|
649
|
+
struct v_at< V,16 >
|
650
|
+
{
|
651
|
+
typedef typename V::item16 type;
|
652
|
+
};
|
653
|
+
|
654
|
+
template<
|
655
|
+
typename T0, typename T1, typename T2, typename T3, typename T4
|
656
|
+
, typename T5, typename T6, typename T7, typename T8, typename T9
|
657
|
+
, typename T10, typename T11, typename T12, typename T13, typename T14
|
658
|
+
, typename T15, typename T16
|
659
|
+
>
|
660
|
+
struct vector17
|
661
|
+
{
|
662
|
+
typedef aux::vector_tag<17> tag;
|
663
|
+
typedef vector17 type;
|
664
|
+
typedef T0 item0;
|
665
|
+
typedef T1 item1;
|
666
|
+
typedef T2 item2;
|
667
|
+
typedef T3 item3;
|
668
|
+
typedef T4 item4;
|
669
|
+
typedef T5 item5;
|
670
|
+
typedef T6 item6;
|
671
|
+
typedef T7 item7;
|
672
|
+
typedef T8 item8;
|
673
|
+
typedef T9 item9;
|
674
|
+
typedef T10 item10;
|
675
|
+
typedef T11 item11;
|
676
|
+
typedef T12 item12;
|
677
|
+
typedef T13 item13;
|
678
|
+
typedef T14 item14;
|
679
|
+
typedef T15 item15;
|
680
|
+
typedef T16 item16;
|
681
|
+
|
682
|
+
|
683
|
+
typedef void_ item17;
|
684
|
+
typedef T16 back;
|
685
|
+
typedef v_iter< type,0 > begin;
|
686
|
+
typedef v_iter< type,17 > end;
|
687
|
+
};
|
688
|
+
|
689
|
+
template<>
|
690
|
+
struct push_front_impl< aux::vector_tag<16> >
|
691
|
+
{
|
692
|
+
template< typename Vector, typename T > struct apply
|
693
|
+
{
|
694
|
+
typedef vector17<
|
695
|
+
T
|
696
|
+
,
|
697
|
+
typename Vector::item0, typename Vector::item1
|
698
|
+
, typename Vector::item2, typename Vector::item3
|
699
|
+
, typename Vector::item4, typename Vector::item5
|
700
|
+
, typename Vector::item6, typename Vector::item7
|
701
|
+
, typename Vector::item8, typename Vector::item9
|
702
|
+
, typename Vector::item10, typename Vector::item11
|
703
|
+
, typename Vector::item12, typename Vector::item13
|
704
|
+
, typename Vector::item14, typename Vector::item15
|
705
|
+
> type;
|
706
|
+
};
|
707
|
+
};
|
708
|
+
|
709
|
+
template<>
|
710
|
+
struct pop_front_impl< aux::vector_tag<17> >
|
711
|
+
{
|
712
|
+
template< typename Vector > struct apply
|
713
|
+
{
|
714
|
+
typedef vector16<
|
715
|
+
typename Vector::item1, typename Vector::item2
|
716
|
+
, typename Vector::item3, typename Vector::item4
|
717
|
+
, typename Vector::item5, typename Vector::item6
|
718
|
+
, typename Vector::item7, typename Vector::item8
|
719
|
+
, typename Vector::item9, typename Vector::item10
|
720
|
+
, typename Vector::item11, typename Vector::item12
|
721
|
+
, typename Vector::item13, typename Vector::item14
|
722
|
+
, typename Vector::item15, typename Vector::item16
|
723
|
+
> type;
|
724
|
+
};
|
725
|
+
};
|
726
|
+
|
727
|
+
template<>
|
728
|
+
struct push_back_impl< aux::vector_tag<16> >
|
729
|
+
{
|
730
|
+
template< typename Vector, typename T > struct apply
|
731
|
+
{
|
732
|
+
typedef vector17<
|
733
|
+
typename Vector::item0, typename Vector::item1
|
734
|
+
, typename Vector::item2, typename Vector::item3
|
735
|
+
, typename Vector::item4, typename Vector::item5
|
736
|
+
, typename Vector::item6, typename Vector::item7
|
737
|
+
, typename Vector::item8, typename Vector::item9
|
738
|
+
, typename Vector::item10, typename Vector::item11
|
739
|
+
, typename Vector::item12, typename Vector::item13
|
740
|
+
, typename Vector::item14, typename Vector::item15
|
741
|
+
,
|
742
|
+
T
|
743
|
+
> type;
|
744
|
+
};
|
745
|
+
};
|
746
|
+
|
747
|
+
template<>
|
748
|
+
struct pop_back_impl< aux::vector_tag<17> >
|
749
|
+
{
|
750
|
+
template< typename Vector > struct apply
|
751
|
+
{
|
752
|
+
typedef vector16<
|
753
|
+
typename Vector::item0, typename Vector::item1
|
754
|
+
, typename Vector::item2, typename Vector::item3
|
755
|
+
, typename Vector::item4, typename Vector::item5
|
756
|
+
, typename Vector::item6, typename Vector::item7
|
757
|
+
, typename Vector::item8, typename Vector::item9
|
758
|
+
, typename Vector::item10, typename Vector::item11
|
759
|
+
, typename Vector::item12, typename Vector::item13
|
760
|
+
, typename Vector::item14, typename Vector::item15
|
761
|
+
> type;
|
762
|
+
};
|
763
|
+
};
|
764
|
+
|
765
|
+
template< typename V >
|
766
|
+
struct v_at< V,17 >
|
767
|
+
{
|
768
|
+
typedef typename V::item17 type;
|
769
|
+
};
|
770
|
+
|
771
|
+
template<
|
772
|
+
typename T0, typename T1, typename T2, typename T3, typename T4
|
773
|
+
, typename T5, typename T6, typename T7, typename T8, typename T9
|
774
|
+
, typename T10, typename T11, typename T12, typename T13, typename T14
|
775
|
+
, typename T15, typename T16, typename T17
|
776
|
+
>
|
777
|
+
struct vector18
|
778
|
+
{
|
779
|
+
typedef aux::vector_tag<18> tag;
|
780
|
+
typedef vector18 type;
|
781
|
+
typedef T0 item0;
|
782
|
+
typedef T1 item1;
|
783
|
+
typedef T2 item2;
|
784
|
+
typedef T3 item3;
|
785
|
+
typedef T4 item4;
|
786
|
+
typedef T5 item5;
|
787
|
+
typedef T6 item6;
|
788
|
+
typedef T7 item7;
|
789
|
+
typedef T8 item8;
|
790
|
+
typedef T9 item9;
|
791
|
+
typedef T10 item10;
|
792
|
+
typedef T11 item11;
|
793
|
+
typedef T12 item12;
|
794
|
+
typedef T13 item13;
|
795
|
+
typedef T14 item14;
|
796
|
+
typedef T15 item15;
|
797
|
+
typedef T16 item16;
|
798
|
+
typedef T17 item17;
|
799
|
+
|
800
|
+
|
801
|
+
typedef void_ item18;
|
802
|
+
typedef T17 back;
|
803
|
+
typedef v_iter< type,0 > begin;
|
804
|
+
typedef v_iter< type,18 > end;
|
805
|
+
};
|
806
|
+
|
807
|
+
template<>
|
808
|
+
struct push_front_impl< aux::vector_tag<17> >
|
809
|
+
{
|
810
|
+
template< typename Vector, typename T > struct apply
|
811
|
+
{
|
812
|
+
typedef vector18<
|
813
|
+
T
|
814
|
+
,
|
815
|
+
typename Vector::item0, typename Vector::item1
|
816
|
+
, typename Vector::item2, typename Vector::item3
|
817
|
+
, typename Vector::item4, typename Vector::item5
|
818
|
+
, typename Vector::item6, typename Vector::item7
|
819
|
+
, typename Vector::item8, typename Vector::item9
|
820
|
+
, typename Vector::item10, typename Vector::item11
|
821
|
+
, typename Vector::item12, typename Vector::item13
|
822
|
+
, typename Vector::item14, typename Vector::item15
|
823
|
+
, typename Vector::item16
|
824
|
+
> type;
|
825
|
+
};
|
826
|
+
};
|
827
|
+
|
828
|
+
template<>
|
829
|
+
struct pop_front_impl< aux::vector_tag<18> >
|
830
|
+
{
|
831
|
+
template< typename Vector > struct apply
|
832
|
+
{
|
833
|
+
typedef vector17<
|
834
|
+
typename Vector::item1, typename Vector::item2
|
835
|
+
, typename Vector::item3, typename Vector::item4
|
836
|
+
, typename Vector::item5, typename Vector::item6
|
837
|
+
, typename Vector::item7, typename Vector::item8
|
838
|
+
, typename Vector::item9, typename Vector::item10
|
839
|
+
, typename Vector::item11, typename Vector::item12
|
840
|
+
, typename Vector::item13, typename Vector::item14
|
841
|
+
, typename Vector::item15, typename Vector::item16
|
842
|
+
, typename Vector::item17
|
843
|
+
> type;
|
844
|
+
};
|
845
|
+
};
|
846
|
+
|
847
|
+
template<>
|
848
|
+
struct push_back_impl< aux::vector_tag<17> >
|
849
|
+
{
|
850
|
+
template< typename Vector, typename T > struct apply
|
851
|
+
{
|
852
|
+
typedef vector18<
|
853
|
+
typename Vector::item0, typename Vector::item1
|
854
|
+
, typename Vector::item2, typename Vector::item3
|
855
|
+
, typename Vector::item4, typename Vector::item5
|
856
|
+
, typename Vector::item6, typename Vector::item7
|
857
|
+
, typename Vector::item8, typename Vector::item9
|
858
|
+
, typename Vector::item10, typename Vector::item11
|
859
|
+
, typename Vector::item12, typename Vector::item13
|
860
|
+
, typename Vector::item14, typename Vector::item15
|
861
|
+
, typename Vector::item16
|
862
|
+
,
|
863
|
+
T
|
864
|
+
> type;
|
865
|
+
};
|
866
|
+
};
|
867
|
+
|
868
|
+
template<>
|
869
|
+
struct pop_back_impl< aux::vector_tag<18> >
|
870
|
+
{
|
871
|
+
template< typename Vector > struct apply
|
872
|
+
{
|
873
|
+
typedef vector17<
|
874
|
+
typename Vector::item0, typename Vector::item1
|
875
|
+
, typename Vector::item2, typename Vector::item3
|
876
|
+
, typename Vector::item4, typename Vector::item5
|
877
|
+
, typename Vector::item6, typename Vector::item7
|
878
|
+
, typename Vector::item8, typename Vector::item9
|
879
|
+
, typename Vector::item10, typename Vector::item11
|
880
|
+
, typename Vector::item12, typename Vector::item13
|
881
|
+
, typename Vector::item14, typename Vector::item15
|
882
|
+
, typename Vector::item16
|
883
|
+
> type;
|
884
|
+
};
|
885
|
+
};
|
886
|
+
|
887
|
+
template< typename V >
|
888
|
+
struct v_at< V,18 >
|
889
|
+
{
|
890
|
+
typedef typename V::item18 type;
|
891
|
+
};
|
892
|
+
|
893
|
+
template<
|
894
|
+
typename T0, typename T1, typename T2, typename T3, typename T4
|
895
|
+
, typename T5, typename T6, typename T7, typename T8, typename T9
|
896
|
+
, typename T10, typename T11, typename T12, typename T13, typename T14
|
897
|
+
, typename T15, typename T16, typename T17, typename T18
|
898
|
+
>
|
899
|
+
struct vector19
|
900
|
+
{
|
901
|
+
typedef aux::vector_tag<19> tag;
|
902
|
+
typedef vector19 type;
|
903
|
+
typedef T0 item0;
|
904
|
+
typedef T1 item1;
|
905
|
+
typedef T2 item2;
|
906
|
+
typedef T3 item3;
|
907
|
+
typedef T4 item4;
|
908
|
+
typedef T5 item5;
|
909
|
+
typedef T6 item6;
|
910
|
+
typedef T7 item7;
|
911
|
+
typedef T8 item8;
|
912
|
+
typedef T9 item9;
|
913
|
+
typedef T10 item10;
|
914
|
+
typedef T11 item11;
|
915
|
+
typedef T12 item12;
|
916
|
+
typedef T13 item13;
|
917
|
+
typedef T14 item14;
|
918
|
+
typedef T15 item15;
|
919
|
+
typedef T16 item16;
|
920
|
+
typedef T17 item17;
|
921
|
+
typedef T18 item18;
|
922
|
+
|
923
|
+
|
924
|
+
typedef void_ item19;
|
925
|
+
typedef T18 back;
|
926
|
+
typedef v_iter< type,0 > begin;
|
927
|
+
typedef v_iter< type,19 > end;
|
928
|
+
};
|
929
|
+
|
930
|
+
template<>
|
931
|
+
struct push_front_impl< aux::vector_tag<18> >
|
932
|
+
{
|
933
|
+
template< typename Vector, typename T > struct apply
|
934
|
+
{
|
935
|
+
typedef vector19<
|
936
|
+
T
|
937
|
+
,
|
938
|
+
typename Vector::item0, typename Vector::item1
|
939
|
+
, typename Vector::item2, typename Vector::item3
|
940
|
+
, typename Vector::item4, typename Vector::item5
|
941
|
+
, typename Vector::item6, typename Vector::item7
|
942
|
+
, typename Vector::item8, typename Vector::item9
|
943
|
+
, typename Vector::item10, typename Vector::item11
|
944
|
+
, typename Vector::item12, typename Vector::item13
|
945
|
+
, typename Vector::item14, typename Vector::item15
|
946
|
+
, typename Vector::item16, typename Vector::item17
|
947
|
+
> type;
|
948
|
+
};
|
949
|
+
};
|
950
|
+
|
951
|
+
template<>
|
952
|
+
struct pop_front_impl< aux::vector_tag<19> >
|
953
|
+
{
|
954
|
+
template< typename Vector > struct apply
|
955
|
+
{
|
956
|
+
typedef vector18<
|
957
|
+
typename Vector::item1, typename Vector::item2
|
958
|
+
, typename Vector::item3, typename Vector::item4
|
959
|
+
, typename Vector::item5, typename Vector::item6
|
960
|
+
, typename Vector::item7, typename Vector::item8
|
961
|
+
, typename Vector::item9, typename Vector::item10
|
962
|
+
, typename Vector::item11, typename Vector::item12
|
963
|
+
, typename Vector::item13, typename Vector::item14
|
964
|
+
, typename Vector::item15, typename Vector::item16
|
965
|
+
, typename Vector::item17, typename Vector::item18
|
966
|
+
> type;
|
967
|
+
};
|
968
|
+
};
|
969
|
+
|
970
|
+
template<>
|
971
|
+
struct push_back_impl< aux::vector_tag<18> >
|
972
|
+
{
|
973
|
+
template< typename Vector, typename T > struct apply
|
974
|
+
{
|
975
|
+
typedef vector19<
|
976
|
+
typename Vector::item0, typename Vector::item1
|
977
|
+
, typename Vector::item2, typename Vector::item3
|
978
|
+
, typename Vector::item4, typename Vector::item5
|
979
|
+
, typename Vector::item6, typename Vector::item7
|
980
|
+
, typename Vector::item8, typename Vector::item9
|
981
|
+
, typename Vector::item10, typename Vector::item11
|
982
|
+
, typename Vector::item12, typename Vector::item13
|
983
|
+
, typename Vector::item14, typename Vector::item15
|
984
|
+
, typename Vector::item16, typename Vector::item17
|
985
|
+
,
|
986
|
+
T
|
987
|
+
> type;
|
988
|
+
};
|
989
|
+
};
|
990
|
+
|
991
|
+
template<>
|
992
|
+
struct pop_back_impl< aux::vector_tag<19> >
|
993
|
+
{
|
994
|
+
template< typename Vector > struct apply
|
995
|
+
{
|
996
|
+
typedef vector18<
|
997
|
+
typename Vector::item0, typename Vector::item1
|
998
|
+
, typename Vector::item2, typename Vector::item3
|
999
|
+
, typename Vector::item4, typename Vector::item5
|
1000
|
+
, typename Vector::item6, typename Vector::item7
|
1001
|
+
, typename Vector::item8, typename Vector::item9
|
1002
|
+
, typename Vector::item10, typename Vector::item11
|
1003
|
+
, typename Vector::item12, typename Vector::item13
|
1004
|
+
, typename Vector::item14, typename Vector::item15
|
1005
|
+
, typename Vector::item16, typename Vector::item17
|
1006
|
+
> type;
|
1007
|
+
};
|
1008
|
+
};
|
1009
|
+
|
1010
|
+
template< typename V >
|
1011
|
+
struct v_at< V,19 >
|
1012
|
+
{
|
1013
|
+
typedef typename V::item19 type;
|
1014
|
+
};
|
1015
|
+
|
1016
|
+
template<
|
1017
|
+
typename T0, typename T1, typename T2, typename T3, typename T4
|
1018
|
+
, typename T5, typename T6, typename T7, typename T8, typename T9
|
1019
|
+
, typename T10, typename T11, typename T12, typename T13, typename T14
|
1020
|
+
, typename T15, typename T16, typename T17, typename T18, typename T19
|
1021
|
+
>
|
1022
|
+
struct vector20
|
1023
|
+
{
|
1024
|
+
typedef aux::vector_tag<20> tag;
|
1025
|
+
typedef vector20 type;
|
1026
|
+
typedef T0 item0;
|
1027
|
+
typedef T1 item1;
|
1028
|
+
typedef T2 item2;
|
1029
|
+
typedef T3 item3;
|
1030
|
+
typedef T4 item4;
|
1031
|
+
typedef T5 item5;
|
1032
|
+
typedef T6 item6;
|
1033
|
+
typedef T7 item7;
|
1034
|
+
typedef T8 item8;
|
1035
|
+
typedef T9 item9;
|
1036
|
+
typedef T10 item10;
|
1037
|
+
typedef T11 item11;
|
1038
|
+
typedef T12 item12;
|
1039
|
+
typedef T13 item13;
|
1040
|
+
typedef T14 item14;
|
1041
|
+
typedef T15 item15;
|
1042
|
+
typedef T16 item16;
|
1043
|
+
typedef T17 item17;
|
1044
|
+
typedef T18 item18;
|
1045
|
+
typedef T19 item19;
|
1046
|
+
|
1047
|
+
|
1048
|
+
typedef void_ item20;
|
1049
|
+
typedef T19 back;
|
1050
|
+
typedef v_iter< type,0 > begin;
|
1051
|
+
typedef v_iter< type,20 > end;
|
1052
|
+
};
|
1053
|
+
|
1054
|
+
template<>
|
1055
|
+
struct push_front_impl< aux::vector_tag<19> >
|
1056
|
+
{
|
1057
|
+
template< typename Vector, typename T > struct apply
|
1058
|
+
{
|
1059
|
+
typedef vector20<
|
1060
|
+
T
|
1061
|
+
,
|
1062
|
+
typename Vector::item0, typename Vector::item1
|
1063
|
+
, typename Vector::item2, typename Vector::item3
|
1064
|
+
, typename Vector::item4, typename Vector::item5
|
1065
|
+
, typename Vector::item6, typename Vector::item7
|
1066
|
+
, typename Vector::item8, typename Vector::item9
|
1067
|
+
, typename Vector::item10, typename Vector::item11
|
1068
|
+
, typename Vector::item12, typename Vector::item13
|
1069
|
+
, typename Vector::item14, typename Vector::item15
|
1070
|
+
, typename Vector::item16, typename Vector::item17
|
1071
|
+
, typename Vector::item18
|
1072
|
+
> type;
|
1073
|
+
};
|
1074
|
+
};
|
1075
|
+
|
1076
|
+
template<>
|
1077
|
+
struct pop_front_impl< aux::vector_tag<20> >
|
1078
|
+
{
|
1079
|
+
template< typename Vector > struct apply
|
1080
|
+
{
|
1081
|
+
typedef vector19<
|
1082
|
+
typename Vector::item1, typename Vector::item2
|
1083
|
+
, typename Vector::item3, typename Vector::item4
|
1084
|
+
, typename Vector::item5, typename Vector::item6
|
1085
|
+
, typename Vector::item7, typename Vector::item8
|
1086
|
+
, typename Vector::item9, typename Vector::item10
|
1087
|
+
, typename Vector::item11, typename Vector::item12
|
1088
|
+
, typename Vector::item13, typename Vector::item14
|
1089
|
+
, typename Vector::item15, typename Vector::item16
|
1090
|
+
, typename Vector::item17, typename Vector::item18
|
1091
|
+
, typename Vector::item19
|
1092
|
+
> type;
|
1093
|
+
};
|
1094
|
+
};
|
1095
|
+
|
1096
|
+
template<>
|
1097
|
+
struct push_back_impl< aux::vector_tag<19> >
|
1098
|
+
{
|
1099
|
+
template< typename Vector, typename T > struct apply
|
1100
|
+
{
|
1101
|
+
typedef vector20<
|
1102
|
+
typename Vector::item0, typename Vector::item1
|
1103
|
+
, typename Vector::item2, typename Vector::item3
|
1104
|
+
, typename Vector::item4, typename Vector::item5
|
1105
|
+
, typename Vector::item6, typename Vector::item7
|
1106
|
+
, typename Vector::item8, typename Vector::item9
|
1107
|
+
, typename Vector::item10, typename Vector::item11
|
1108
|
+
, typename Vector::item12, typename Vector::item13
|
1109
|
+
, typename Vector::item14, typename Vector::item15
|
1110
|
+
, typename Vector::item16, typename Vector::item17
|
1111
|
+
, typename Vector::item18
|
1112
|
+
,
|
1113
|
+
T
|
1114
|
+
> type;
|
1115
|
+
};
|
1116
|
+
};
|
1117
|
+
|
1118
|
+
template<>
|
1119
|
+
struct pop_back_impl< aux::vector_tag<20> >
|
1120
|
+
{
|
1121
|
+
template< typename Vector > struct apply
|
1122
|
+
{
|
1123
|
+
typedef vector19<
|
1124
|
+
typename Vector::item0, typename Vector::item1
|
1125
|
+
, typename Vector::item2, typename Vector::item3
|
1126
|
+
, typename Vector::item4, typename Vector::item5
|
1127
|
+
, typename Vector::item6, typename Vector::item7
|
1128
|
+
, typename Vector::item8, typename Vector::item9
|
1129
|
+
, typename Vector::item10, typename Vector::item11
|
1130
|
+
, typename Vector::item12, typename Vector::item13
|
1131
|
+
, typename Vector::item14, typename Vector::item15
|
1132
|
+
, typename Vector::item16, typename Vector::item17
|
1133
|
+
, typename Vector::item18
|
1134
|
+
> type;
|
1135
|
+
};
|
1136
|
+
};
|
1137
|
+
|
1138
|
+
template< typename V >
|
1139
|
+
struct v_at< V,20 >
|
1140
|
+
{
|
1141
|
+
typedef typename V::item20 type;
|
1142
|
+
};
|
1143
|
+
|
1144
|
+
}}
|