passenger 4.0.60 → 5.0.0.beta1
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.
- checksums.yaml +8 -8
- checksums.yaml.gz.asc +7 -7
- data.tar.gz.asc +7 -7
- data/.editorconfig +5 -0
- data/.travis.yml +3 -2
- data/CHANGELOG +31 -53
- data/CONTRIBUTING.md +4 -4
- data/CONTRIBUTORS +0 -1
- data/Gemfile +18 -0
- data/Gemfile.lock +41 -0
- data/Rakefile +16 -0
- data/bin/passenger +2 -2
- data/bin/passenger-install-apache2-module +12 -12
- data/bin/passenger-install-nginx-module +9 -14
- data/bin/passenger-status +125 -87
- data/build/agents.rb +112 -140
- data/build/apache2.rb +4 -9
- data/build/basics.rb +5 -3
- data/build/common_library.rb +1 -0
- data/build/cxx_tests.rb +69 -47
- data/build/debian.rb +4 -2
- data/build/documentation.rb +1 -0
- data/build/integration_tests.rb +28 -43
- data/build/misc.rb +0 -18
- data/build/nginx.rb +2 -6
- data/build/packaging.rb +33 -22
- data/build/preprocessor.rb +2 -4
- data/build/ruby_tests.rb +7 -26
- data/build/test_basics.rb +24 -25
- data/debian.template/control.template +2 -2
- data/debian.template/locations.ini.template +2 -3
- data/debian.template/passenger.install.template +2 -2
- data/debian.template/rules.template +1 -1
- data/dev/ci/run_jenkins.sh +0 -1
- data/dev/ci/run_rpm_tests.sh +3 -0
- data/dev/ci/run_travis.sh +63 -17
- data/dev/copy_boost_headers +22 -6
- data/dev/ruby_server.rb +244 -0
- data/dev/vagrant/provision.sh +3 -1
- data/doc/DebuggingAndStressTesting.md +3 -3
- data/doc/Design and Architecture.txt +5 -6
- data/doc/Packaging.txt.md +35 -6
- data/doc/ServerOptimizationGuide.txt.md +339 -0
- data/doc/Users guide Apache.idmap.txt +177 -187
- data/doc/Users guide Apache.txt +143 -219
- data/doc/Users guide Nginx.idmap.txt +166 -166
- data/doc/Users guide Nginx.txt +265 -223
- data/doc/Users guide Standalone.txt +3 -3
- data/doc/templates/markdown.html.erb +37 -6
- data/doc/users_guide_snippets/environment_variables.txt +1 -1
- data/doc/users_guide_snippets/support_information.txt +1 -1
- data/doc/users_guide_snippets/tips.txt +2 -2
- data/ext/apache2/Configuration.cpp +23 -81
- data/ext/apache2/Configuration.hpp +18 -92
- data/ext/apache2/ConfigurationCommands.cpp +64 -15
- data/ext/apache2/ConfigurationCommands.cpp.erb +8 -4
- data/ext/apache2/ConfigurationFields.hpp +12 -0
- data/ext/apache2/ConfigurationSetters.cpp +73 -1
- data/ext/apache2/ConfigurationSetters.cpp.erb +3 -2
- data/ext/apache2/CreateDirConfig.cpp +6 -0
- data/ext/apache2/DirectoryMapper.h +11 -6
- data/ext/apache2/Hooks.cpp +291 -408
- data/ext/apache2/MergeDirConfig.cpp +42 -0
- data/ext/apache2/SetHeaders.cpp +61 -16
- data/ext/apache2/SetHeaders.cpp.erb +9 -7
- data/ext/boost/container/allocator_traits.hpp +400 -0
- data/ext/boost/container/deque.hpp +2012 -0
- data/ext/boost/container/detail/adaptive_node_pool_impl.hpp +874 -0
- data/ext/boost/container/detail/advanced_insert_int.hpp +369 -0
- data/ext/boost/container/detail/algorithms.hpp +84 -0
- data/ext/boost/container/detail/allocation_type.hpp +54 -0
- data/ext/boost/container/detail/allocator_version_traits.hpp +163 -0
- data/ext/boost/container/detail/config_begin.hpp +49 -0
- data/ext/boost/container/detail/config_end.hpp +17 -0
- data/ext/boost/container/detail/destroyers.hpp +365 -0
- data/ext/boost/container/detail/flat_tree.hpp +1055 -0
- data/ext/boost/container/detail/function_detector.hpp +88 -0
- data/ext/boost/container/detail/iterators.hpp +611 -0
- data/ext/boost/container/detail/math_functions.hpp +113 -0
- data/ext/boost/container/detail/memory_util.hpp +83 -0
- data/ext/boost/container/detail/mpl.hpp +160 -0
- data/ext/boost/container/detail/multiallocation_chain.hpp +286 -0
- data/ext/boost/container/detail/node_alloc_holder.hpp +386 -0
- data/ext/boost/container/detail/node_pool_impl.hpp +365 -0
- data/ext/boost/container/detail/pair.hpp +354 -0
- data/ext/boost/container/detail/pool_common.hpp +52 -0
- data/ext/boost/container/detail/preprocessor.hpp +232 -0
- data/ext/boost/container/detail/transform_iterator.hpp +176 -0
- data/ext/boost/container/detail/tree.hpp +1134 -0
- data/ext/boost/container/detail/type_traits.hpp +210 -0
- data/ext/boost/container/detail/utilities.hpp +1141 -0
- data/ext/boost/container/detail/value_init.hpp +45 -0
- data/ext/boost/container/detail/variadic_templates_tools.hpp +153 -0
- data/ext/boost/container/detail/version_type.hpp +92 -0
- data/ext/boost/container/detail/workaround.hpp +44 -0
- data/ext/boost/container/flat_map.hpp +1674 -0
- data/ext/boost/container/flat_set.hpp +1408 -0
- data/ext/boost/container/list.hpp +1475 -0
- data/ext/boost/container/map.hpp +1508 -0
- data/ext/boost/container/scoped_allocator.hpp +1503 -0
- data/ext/boost/container/scoped_allocator_fwd.hpp +83 -0
- data/ext/boost/container/set.hpp +1280 -0
- data/ext/boost/container/slist.hpp +1706 -0
- data/ext/boost/container/stable_vector.hpp +1869 -0
- data/ext/boost/container/static_vector.hpp +1053 -0
- data/ext/boost/container/string.hpp +2856 -0
- data/ext/boost/container/throw_exception.hpp +110 -0
- data/ext/boost/container/vector.hpp +2671 -0
- data/ext/boost/detail/is_xxx.hpp +61 -0
- data/ext/boost/intrusive/any_hook.hpp +344 -0
- data/ext/boost/intrusive/avl_set.hpp +2528 -0
- data/ext/boost/intrusive/avl_set_hook.hpp +297 -0
- data/ext/boost/intrusive/avltree.hpp +1786 -0
- data/ext/boost/intrusive/avltree_algorithms.hpp +968 -0
- data/ext/boost/intrusive/bs_set_hook.hpp +296 -0
- data/ext/boost/intrusive/circular_list_algorithms.hpp +413 -0
- data/ext/boost/intrusive/circular_slist_algorithms.hpp +404 -0
- data/ext/boost/intrusive/derivation_value_traits.hpp +70 -0
- data/ext/boost/intrusive/detail/any_node_and_algorithms.hpp +297 -0
- data/ext/boost/intrusive/detail/assert.hpp +41 -0
- data/ext/boost/intrusive/detail/avltree_node.hpp +197 -0
- data/ext/boost/intrusive/detail/clear_on_destructor_base.hpp +36 -0
- data/ext/boost/intrusive/detail/common_slist_algorithms.hpp +102 -0
- data/ext/boost/intrusive/detail/config_begin.hpp +52 -0
- data/ext/boost/intrusive/detail/config_end.hpp +15 -0
- data/ext/boost/intrusive/detail/ebo_functor_holder.hpp +95 -0
- data/ext/boost/intrusive/detail/function_detector.hpp +88 -0
- data/ext/boost/intrusive/detail/generic_hook.hpp +209 -0
- data/ext/boost/intrusive/detail/has_member_function_callable_with.hpp +357 -0
- data/ext/boost/intrusive/detail/hashtable_node.hpp +249 -0
- data/ext/boost/intrusive/detail/is_stateful_value_traits.hpp +77 -0
- data/ext/boost/intrusive/detail/list_node.hpp +196 -0
- data/ext/boost/intrusive/detail/memory_util.hpp +288 -0
- data/ext/boost/intrusive/detail/mpl.hpp +383 -0
- data/ext/boost/intrusive/detail/parent_from_member.hpp +97 -0
- data/ext/boost/intrusive/detail/preprocessor.hpp +52 -0
- data/ext/boost/intrusive/detail/rbtree_node.hpp +201 -0
- data/ext/boost/intrusive/detail/slist_node.hpp +166 -0
- data/ext/boost/intrusive/detail/transform_iterator.hpp +173 -0
- data/ext/boost/intrusive/detail/tree_algorithms.hpp +1742 -0
- data/ext/boost/intrusive/detail/tree_node.hpp +199 -0
- data/ext/boost/intrusive/detail/utilities.hpp +858 -0
- data/ext/boost/intrusive/detail/workaround.hpp +22 -0
- data/ext/boost/intrusive/hashtable.hpp +3110 -0
- data/ext/boost/intrusive/intrusive_fwd.hpp +542 -0
- data/ext/boost/intrusive/linear_slist_algorithms.hpp +327 -0
- data/ext/boost/intrusive/link_mode.hpp +46 -0
- data/ext/boost/intrusive/list.hpp +1525 -0
- data/ext/boost/intrusive/list_hook.hpp +290 -0
- data/ext/boost/intrusive/member_value_traits.hpp +70 -0
- data/ext/boost/intrusive/options.hpp +810 -0
- data/ext/boost/intrusive/parent_from_member.hpp +42 -0
- data/ext/boost/intrusive/pointer_plus_bits.hpp +86 -0
- data/ext/boost/intrusive/pointer_traits.hpp +265 -0
- data/ext/boost/intrusive/priority_compare.hpp +39 -0
- data/ext/boost/intrusive/rbtree.hpp +1785 -0
- data/ext/boost/intrusive/rbtree_algorithms.hpp +934 -0
- data/ext/boost/intrusive/set.hpp +2554 -0
- data/ext/boost/intrusive/set_hook.hpp +300 -0
- data/ext/boost/intrusive/sg_set.hpp +2601 -0
- data/ext/boost/intrusive/sgtree.hpp +2009 -0
- data/ext/boost/intrusive/sgtree_algorithms.hpp +807 -0
- data/ext/boost/intrusive/slist.hpp +2219 -0
- data/ext/boost/intrusive/slist_hook.hpp +294 -0
- data/ext/boost/intrusive/splay_set.hpp +2575 -0
- data/ext/boost/intrusive/splay_set_hook.hpp +292 -0
- data/ext/boost/intrusive/splaytree.hpp +1784 -0
- data/ext/boost/intrusive/splaytree_algorithms.hpp +1008 -0
- data/ext/boost/intrusive/treap.hpp +1882 -0
- data/ext/boost/intrusive/treap_algorithms.hpp +919 -0
- data/ext/boost/intrusive/treap_set.hpp +2751 -0
- data/ext/boost/intrusive/trivial_value_traits.hpp +46 -0
- data/ext/boost/intrusive/unordered_set.hpp +2115 -0
- data/ext/boost/intrusive/unordered_set_hook.hpp +434 -0
- data/ext/boost/intrusive_ptr.hpp +18 -0
- data/ext/boost/math/common_factor_ct.hpp +180 -0
- data/ext/boost/math_fwd.hpp +108 -0
- data/ext/boost/move/detail/move_helpers.hpp +175 -0
- data/ext/boost/parameter.hpp +21 -0
- data/ext/boost/parameter/aux_/arg_list.hpp +459 -0
- data/ext/boost/parameter/aux_/cast.hpp +143 -0
- data/ext/boost/parameter/aux_/default.hpp +69 -0
- data/ext/boost/parameter/aux_/is_maybe.hpp +26 -0
- data/ext/boost/parameter/aux_/maybe.hpp +120 -0
- data/ext/boost/parameter/aux_/overloads.hpp +88 -0
- data/ext/boost/parameter/aux_/parameter_requirements.hpp +25 -0
- data/ext/boost/parameter/aux_/parenthesized_type.hpp +119 -0
- data/ext/boost/parameter/aux_/preprocessor/flatten.hpp +115 -0
- data/ext/boost/parameter/aux_/preprocessor/for_each.hpp +103 -0
- data/ext/boost/parameter/aux_/python/invoker.hpp +132 -0
- data/ext/boost/parameter/aux_/python/invoker_iterate.hpp +93 -0
- data/ext/boost/parameter/aux_/result_of0.hpp +36 -0
- data/ext/boost/parameter/aux_/set.hpp +67 -0
- data/ext/boost/parameter/aux_/tag.hpp +38 -0
- data/ext/boost/parameter/aux_/tagged_argument.hpp +188 -0
- data/ext/boost/parameter/aux_/template_keyword.hpp +47 -0
- data/ext/boost/parameter/aux_/unwrap_cv_reference.hpp +97 -0
- data/ext/boost/parameter/aux_/void.hpp +29 -0
- data/ext/boost/parameter/aux_/yesno.hpp +26 -0
- data/ext/boost/parameter/binding.hpp +106 -0
- data/ext/boost/parameter/config.hpp +14 -0
- data/ext/boost/parameter/keyword.hpp +152 -0
- data/ext/boost/parameter/macros.hpp +99 -0
- data/ext/boost/parameter/match.hpp +55 -0
- data/ext/boost/parameter/name.hpp +156 -0
- data/ext/boost/parameter/parameters.hpp +931 -0
- data/ext/boost/parameter/preprocessor.hpp +1178 -0
- data/ext/boost/parameter/python.hpp +735 -0
- data/ext/boost/parameter/value_type.hpp +108 -0
- data/ext/boost/pool/detail/for.m4 +107 -0
- data/ext/boost/pool/detail/guard.hpp +69 -0
- data/ext/boost/pool/detail/mutex.hpp +42 -0
- data/ext/boost/pool/detail/pool_construct.bat +24 -0
- data/ext/boost/pool/detail/pool_construct.ipp +852 -0
- data/ext/boost/pool/detail/pool_construct.m4 +84 -0
- data/ext/boost/pool/detail/pool_construct.sh +12 -0
- data/ext/boost/pool/detail/pool_construct_simple.bat +25 -0
- data/ext/boost/pool/detail/pool_construct_simple.ipp +43 -0
- data/ext/boost/pool/detail/pool_construct_simple.m4 +72 -0
- data/ext/boost/pool/detail/pool_construct_simple.sh +12 -0
- data/ext/boost/pool/object_pool.hpp +287 -0
- data/ext/boost/pool/pool.hpp +1024 -0
- data/ext/boost/pool/pool_alloc.hpp +488 -0
- data/ext/boost/pool/poolfwd.hpp +82 -0
- data/ext/boost/pool/simple_segregated_storage.hpp +377 -0
- data/ext/boost/pool/singleton_pool.hpp +251 -0
- data/ext/boost/preprocessor/arithmetic.hpp +25 -0
- data/ext/boost/preprocessor/arithmetic/detail/div_base.hpp +61 -0
- data/ext/boost/preprocessor/arithmetic/div.hpp +39 -0
- data/ext/boost/preprocessor/arithmetic/mod.hpp +39 -0
- data/ext/boost/preprocessor/arithmetic/mul.hpp +53 -0
- data/ext/boost/preprocessor/array.hpp +32 -0
- data/ext/boost/preprocessor/array/enum.hpp +33 -0
- data/ext/boost/preprocessor/array/insert.hpp +55 -0
- data/ext/boost/preprocessor/array/pop_back.hpp +37 -0
- data/ext/boost/preprocessor/array/pop_front.hpp +38 -0
- data/ext/boost/preprocessor/array/push_back.hpp +33 -0
- data/ext/boost/preprocessor/array/push_front.hpp +33 -0
- data/ext/boost/preprocessor/array/remove.hpp +54 -0
- data/ext/boost/preprocessor/array/replace.hpp +49 -0
- data/ext/boost/preprocessor/array/reverse.hpp +29 -0
- data/ext/boost/preprocessor/array/to_list.hpp +33 -0
- data/ext/boost/preprocessor/array/to_seq.hpp +33 -0
- data/ext/boost/preprocessor/array/to_tuple.hpp +22 -0
- data/ext/boost/preprocessor/assert_msg.hpp +17 -0
- data/ext/boost/preprocessor/comma.hpp +17 -0
- data/ext/boost/preprocessor/comparison.hpp +24 -0
- data/ext/boost/preprocessor/comparison/equal.hpp +34 -0
- data/ext/boost/preprocessor/comparison/greater.hpp +38 -0
- data/ext/boost/preprocessor/comparison/greater_equal.hpp +38 -0
- data/ext/boost/preprocessor/comparison/less.hpp +46 -0
- data/ext/boost/preprocessor/comparison/less_equal.hpp +39 -0
- data/ext/boost/preprocessor/comparison/not_equal.hpp +814 -0
- data/ext/boost/preprocessor/config/limits.hpp +30 -0
- data/ext/boost/preprocessor/control.hpp +22 -0
- data/ext/boost/preprocessor/control/deduce_d.hpp +22 -0
- data/ext/boost/preprocessor/control/detail/dmc/while.hpp +536 -0
- data/ext/boost/preprocessor/control/detail/edg/while.hpp +534 -0
- data/ext/boost/preprocessor/control/detail/msvc/while.hpp +277 -0
- data/ext/boost/preprocessor/control/expr_if.hpp +30 -0
- data/ext/boost/preprocessor/debug.hpp +18 -0
- data/ext/boost/preprocessor/debug/assert.hpp +44 -0
- data/ext/boost/preprocessor/debug/line.hpp +35 -0
- data/ext/boost/preprocessor/detail/dmc/auto_rec.hpp +286 -0
- data/ext/boost/preprocessor/detail/is_nullary.hpp +30 -0
- data/ext/boost/preprocessor/detail/is_unary.hpp +30 -0
- data/ext/boost/preprocessor/detail/null.hpp +17 -0
- data/ext/boost/preprocessor/detail/split.hpp +35 -0
- data/ext/boost/preprocessor/enum_params_with_defaults.hpp +17 -0
- data/ext/boost/preprocessor/enum_shifted.hpp +17 -0
- data/ext/boost/preprocessor/expand.hpp +17 -0
- data/ext/boost/preprocessor/expr_if.hpp +17 -0
- data/ext/boost/preprocessor/facilities.hpp +23 -0
- data/ext/boost/preprocessor/facilities/apply.hpp +34 -0
- data/ext/boost/preprocessor/facilities/expand.hpp +28 -0
- data/ext/boost/preprocessor/facilities/is_1.hpp +23 -0
- data/ext/boost/preprocessor/facilities/is_empty.hpp +43 -0
- data/ext/boost/preprocessor/facilities/is_empty_or_1.hpp +30 -0
- data/ext/boost/preprocessor/for.hpp +17 -0
- data/ext/boost/preprocessor/if.hpp +17 -0
- data/ext/boost/preprocessor/iteration.hpp +19 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/lower3.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/lower4.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/lower5.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/upper3.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/upper4.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/upper5.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/finish.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/iter/forward3.hpp +1338 -0
- data/ext/boost/preprocessor/iteration/detail/iter/forward4.hpp +1338 -0
- data/ext/boost/preprocessor/iteration/detail/iter/forward5.hpp +1338 -0
- data/ext/boost/preprocessor/iteration/detail/iter/reverse2.hpp +1296 -0
- data/ext/boost/preprocessor/iteration/detail/iter/reverse3.hpp +1296 -0
- data/ext/boost/preprocessor/iteration/detail/iter/reverse4.hpp +1296 -0
- data/ext/boost/preprocessor/iteration/detail/iter/reverse5.hpp +1296 -0
- data/ext/boost/preprocessor/iteration/detail/local.hpp +812 -0
- data/ext/boost/preprocessor/iteration/detail/rlocal.hpp +782 -0
- data/ext/boost/preprocessor/iteration/detail/self.hpp +21 -0
- data/ext/boost/preprocessor/iteration/detail/start.hpp +99 -0
- data/ext/boost/preprocessor/iteration/local.hpp +26 -0
- data/ext/boost/preprocessor/iteration/self.hpp +19 -0
- data/ext/boost/preprocessor/library.hpp +36 -0
- data/ext/boost/preprocessor/limits.hpp +17 -0
- data/ext/boost/preprocessor/list.hpp +37 -0
- data/ext/boost/preprocessor/list/at.hpp +39 -0
- data/ext/boost/preprocessor/list/cat.hpp +42 -0
- data/ext/boost/preprocessor/list/detail/dmc/fold_left.hpp +279 -0
- data/ext/boost/preprocessor/list/detail/edg/fold_left.hpp +536 -0
- data/ext/boost/preprocessor/list/detail/edg/fold_right.hpp +794 -0
- data/ext/boost/preprocessor/list/enum.hpp +41 -0
- data/ext/boost/preprocessor/list/filter.hpp +54 -0
- data/ext/boost/preprocessor/list/first_n.hpp +58 -0
- data/ext/boost/preprocessor/list/for_each.hpp +49 -0
- data/ext/boost/preprocessor/list/for_each_product.hpp +141 -0
- data/ext/boost/preprocessor/list/rest_n.hpp +55 -0
- data/ext/boost/preprocessor/list/size.hpp +58 -0
- data/ext/boost/preprocessor/list/to_array.hpp +123 -0
- data/ext/boost/preprocessor/list/to_seq.hpp +32 -0
- data/ext/boost/preprocessor/list/to_tuple.hpp +38 -0
- data/ext/boost/preprocessor/logical.hpp +29 -0
- data/ext/boost/preprocessor/logical/bitnor.hpp +38 -0
- data/ext/boost/preprocessor/logical/bitor.hpp +38 -0
- data/ext/boost/preprocessor/logical/bitxor.hpp +38 -0
- data/ext/boost/preprocessor/logical/nor.hpp +30 -0
- data/ext/boost/preprocessor/logical/not.hpp +30 -0
- data/ext/boost/preprocessor/logical/or.hpp +30 -0
- data/ext/boost/preprocessor/logical/xor.hpp +30 -0
- data/ext/boost/preprocessor/max.hpp +17 -0
- data/ext/boost/preprocessor/min.hpp +17 -0
- data/ext/boost/preprocessor/punctuation.hpp +20 -0
- data/ext/boost/preprocessor/punctuation/paren_if.hpp +38 -0
- data/ext/boost/preprocessor/repeat_3rd.hpp +17 -0
- data/ext/boost/preprocessor/repeat_from_to.hpp +17 -0
- data/ext/boost/preprocessor/repeat_from_to_2nd.hpp +17 -0
- data/ext/boost/preprocessor/repeat_from_to_3rd.hpp +17 -0
- data/ext/boost/preprocessor/repetition.hpp +32 -0
- data/ext/boost/preprocessor/repetition/deduce_r.hpp +22 -0
- data/ext/boost/preprocessor/repetition/deduce_z.hpp +22 -0
- data/ext/boost/preprocessor/repetition/detail/dmc/for.hpp +536 -0
- data/ext/boost/preprocessor/repetition/detail/edg/for.hpp +534 -0
- data/ext/boost/preprocessor/repetition/detail/msvc/for.hpp +277 -0
- data/ext/boost/preprocessor/repetition/enum_params_with_defaults.hpp +24 -0
- data/ext/boost/preprocessor/repetition/enum_shifted.hpp +68 -0
- data/ext/boost/preprocessor/repetition/enum_shifted_binary_params.hpp +51 -0
- data/ext/boost/preprocessor/repetition/enum_trailing.hpp +63 -0
- data/ext/boost/preprocessor/repetition/enum_trailing_binary_params.hpp +53 -0
- data/ext/boost/preprocessor/selection.hpp +18 -0
- data/ext/boost/preprocessor/selection/max.hpp +39 -0
- data/ext/boost/preprocessor/selection/min.hpp +39 -0
- data/ext/boost/preprocessor/seq.hpp +43 -0
- data/ext/boost/preprocessor/seq/cat.hpp +49 -0
- data/ext/boost/preprocessor/seq/detail/binary_transform.hpp +40 -0
- data/ext/boost/preprocessor/seq/detail/split.hpp +284 -0
- data/ext/boost/preprocessor/seq/filter.hpp +54 -0
- data/ext/boost/preprocessor/seq/first_n.hpp +30 -0
- data/ext/boost/preprocessor/seq/fold_left.hpp +1070 -0
- data/ext/boost/preprocessor/seq/fold_right.hpp +288 -0
- data/ext/boost/preprocessor/seq/for_each.hpp +60 -0
- data/ext/boost/preprocessor/seq/for_each_product.hpp +126 -0
- data/ext/boost/preprocessor/seq/insert.hpp +28 -0
- data/ext/boost/preprocessor/seq/pop_back.hpp +29 -0
- data/ext/boost/preprocessor/seq/pop_front.hpp +27 -0
- data/ext/boost/preprocessor/seq/push_back.hpp +19 -0
- data/ext/boost/preprocessor/seq/push_front.hpp +19 -0
- data/ext/boost/preprocessor/seq/remove.hpp +29 -0
- data/ext/boost/preprocessor/seq/replace.hpp +29 -0
- data/ext/boost/preprocessor/seq/rest_n.hpp +30 -0
- data/ext/boost/preprocessor/seq/reverse.hpp +39 -0
- data/ext/boost/preprocessor/seq/subseq.hpp +28 -0
- data/ext/boost/preprocessor/seq/to_array.hpp +28 -0
- data/ext/boost/preprocessor/seq/to_list.hpp +29 -0
- data/ext/boost/preprocessor/seq/to_tuple.hpp +27 -0
- data/ext/boost/preprocessor/seq/transform.hpp +48 -0
- data/ext/boost/preprocessor/slot.hpp +17 -0
- data/ext/boost/preprocessor/slot/counter.hpp +25 -0
- data/ext/boost/preprocessor/slot/detail/counter.hpp +269 -0
- data/ext/boost/preprocessor/slot/detail/slot1.hpp +267 -0
- data/ext/boost/preprocessor/slot/detail/slot2.hpp +267 -0
- data/ext/boost/preprocessor/slot/detail/slot3.hpp +267 -0
- data/ext/boost/preprocessor/slot/detail/slot4.hpp +267 -0
- data/ext/boost/preprocessor/slot/detail/slot5.hpp +267 -0
- data/ext/boost/preprocessor/tuple.hpp +28 -0
- data/ext/boost/preprocessor/tuple/enum.hpp +22 -0
- data/ext/boost/preprocessor/tuple/reverse.hpp +114 -0
- data/ext/boost/preprocessor/tuple/size.hpp +28 -0
- data/ext/boost/preprocessor/tuple/to_array.hpp +37 -0
- data/ext/boost/preprocessor/tuple/to_seq.hpp +114 -0
- data/ext/boost/preprocessor/variadic.hpp +23 -0
- data/ext/boost/preprocessor/variadic/to_array.hpp +32 -0
- data/ext/boost/preprocessor/variadic/to_list.hpp +25 -0
- data/ext/boost/preprocessor/variadic/to_seq.hpp +25 -0
- data/ext/boost/preprocessor/variadic/to_tuple.hpp +24 -0
- data/ext/boost/preprocessor/while.hpp +17 -0
- data/ext/boost/preprocessor/wstringize.hpp +29 -0
- data/ext/boost/smart_ptr/intrusive_ptr.hpp +324 -0
- data/ext/common/AccountsDatabase.h +3 -4
- data/ext/common/AgentsStarter.cpp +12 -15
- data/ext/common/AgentsStarter.h +54 -120
- data/ext/common/ApplicationPool2/AppTypes.cpp +12 -5
- data/ext/common/ApplicationPool2/AppTypes.h +21 -14
- data/ext/common/ApplicationPool2/Common.h +36 -19
- data/ext/common/ApplicationPool2/DirectSpawner.h +15 -16
- data/ext/common/ApplicationPool2/DummySpawner.h +9 -8
- data/ext/common/ApplicationPool2/ErrorRenderer.h +1 -1
- data/ext/common/ApplicationPool2/Group.h +304 -171
- data/ext/common/ApplicationPool2/Implementation.cpp +234 -125
- data/ext/common/ApplicationPool2/Options.h +50 -62
- data/ext/common/ApplicationPool2/Pool.h +285 -189
- data/ext/common/ApplicationPool2/Process.h +126 -115
- data/ext/common/ApplicationPool2/Session.h +70 -30
- data/ext/common/ApplicationPool2/SmartSpawner.h +19 -18
- data/ext/common/ApplicationPool2/Socket.h +57 -43
- data/ext/common/ApplicationPool2/SpawnObject.h +83 -0
- data/ext/common/ApplicationPool2/Spawner.h +59 -38
- data/ext/common/ApplicationPool2/SpawnerFactory.h +8 -14
- data/ext/common/ApplicationPool2/SuperGroup.h +69 -40
- data/ext/common/BackgroundEventLoop.cpp +48 -1
- data/ext/common/BackgroundEventLoop.h +3 -1
- data/ext/common/Constants.h +30 -8
- data/ext/common/DataStructures/HashedStaticString.h +103 -0
- data/ext/common/DataStructures/LString.h +396 -0
- data/ext/common/DataStructures/StringKeyTable.h +588 -0
- data/ext/common/EventedMessageServer.h +1 -0
- data/ext/common/FileDescriptor.h +5 -0
- data/ext/common/InstanceDirectory.h +240 -0
- data/ext/common/Logging.cpp +38 -13
- data/ext/common/Logging.h +53 -22
- data/ext/common/MemoryKit/mbuf.cpp +413 -0
- data/ext/common/MemoryKit/mbuf.h +266 -0
- data/ext/common/MemoryKit/palloc.cpp +337 -0
- data/ext/common/MemoryKit/palloc.h +121 -0
- data/ext/common/ResourceLocator.h +62 -6
- data/ext/common/SafeLibev.h +4 -4
- data/ext/common/ServerKit/AcceptLoadBalancer.h +275 -0
- data/ext/common/ServerKit/Channel.h +747 -0
- data/ext/common/ServerKit/Client.h +166 -0
- data/ext/common/ServerKit/ClientRef.h +130 -0
- data/ext/common/ServerKit/Context.h +129 -0
- data/ext/common/ServerKit/Errors.h +103 -0
- data/ext/common/ServerKit/FdSinkChannel.h +206 -0
- data/ext/common/ServerKit/FdSourceChannel.h +230 -0
- data/ext/common/ServerKit/FileBufferedChannel.h +1399 -0
- data/ext/common/ServerKit/FileBufferedFdSinkChannel.h +228 -0
- data/ext/common/ServerKit/HeaderTable.h +472 -0
- data/ext/common/ServerKit/Hooks.h +79 -0
- data/ext/common/ServerKit/HttpChunkedBodyParser.h +289 -0
- data/ext/common/ServerKit/HttpChunkedBodyParserState.h +70 -0
- data/ext/common/ServerKit/HttpClient.h +94 -0
- data/ext/common/ServerKit/HttpHeaderParser.h +477 -0
- data/ext/common/ServerKit/HttpHeaderParserState.h +60 -0
- data/ext/common/ServerKit/HttpRequest.h +276 -0
- data/ext/common/ServerKit/HttpRequestRef.h +130 -0
- data/ext/common/ServerKit/HttpServer.h +1152 -0
- data/ext/common/ServerKit/Implementation.cpp +47 -0
- data/ext/common/ServerKit/Server.h +1040 -0
- data/ext/common/ServerKit/http_parser.cpp +2259 -0
- data/ext/common/ServerKit/http_parser.h +330 -0
- data/ext/common/StaticString.h +8 -0
- data/ext/common/Utils.cpp +14 -12
- data/ext/common/Utils.h +9 -103
- data/ext/common/Utils/BufferedIO.h +1 -0
- data/ext/common/Utils/CachedFileStat.hpp +1 -7
- data/ext/common/Utils/DateParsing.h +379 -0
- data/ext/common/Utils/FileChangeChecker.h +3 -9
- data/ext/common/Utils/Hasher.cpp +52 -0
- data/ext/common/Utils/Hasher.h +58 -0
- data/ext/common/Utils/IOUtils.cpp +62 -62
- data/ext/common/Utils/JsonUtils.h +21 -0
- data/ext/common/Utils/OptionParsing.h +75 -0
- data/ext/common/Utils/StrIntUtils.cpp +112 -19
- data/ext/common/Utils/StrIntUtils.h +52 -12
- data/ext/common/Utils/StrIntUtilsNoStrictAliasing.cpp +174 -0
- data/ext/common/Utils/VariantMap.h +18 -7
- data/ext/common/Utils/modp_b64.cpp +290 -0
- data/ext/common/Utils/modp_b64.h +241 -0
- data/ext/common/Utils/modp_b64_data.h +479 -0
- data/ext/common/Utils/sysqueue.h +811 -0
- data/ext/common/agents/Base.cpp +71 -98
- data/ext/common/agents/Base.h +11 -3
- data/ext/common/agents/HelperAgent/AdminServer.h +690 -0
- data/ext/common/agents/HelperAgent/Main.cpp +899 -487
- data/ext/common/agents/HelperAgent/OptionParser.h +311 -0
- data/ext/common/agents/HelperAgent/RequestHandler.h +315 -2548
- data/ext/common/agents/HelperAgent/RequestHandler/AppResponse.h +225 -0
- data/ext/common/agents/HelperAgent/RequestHandler/BufferBody.cpp +93 -0
- data/ext/common/agents/HelperAgent/RequestHandler/CheckoutSession.cpp +346 -0
- data/ext/common/agents/HelperAgent/RequestHandler/Client.h +54 -0
- data/ext/common/agents/HelperAgent/RequestHandler/ForwardResponse.cpp +846 -0
- data/ext/common/agents/HelperAgent/RequestHandler/Hooks.cpp +231 -0
- data/ext/common/agents/HelperAgent/RequestHandler/InitRequest.cpp +434 -0
- data/ext/common/agents/HelperAgent/RequestHandler/Request.h +149 -0
- data/ext/common/agents/HelperAgent/RequestHandler/SendRequest.cpp +887 -0
- data/ext/common/agents/HelperAgent/RequestHandler/TurboCaching.h +293 -0
- data/ext/common/agents/HelperAgent/RequestHandler/Utils.cpp +301 -0
- data/ext/common/agents/HelperAgent/ResponseCache.h +624 -0
- data/ext/common/agents/HelperAgent/SystemMetricsTool.cpp +21 -23
- data/ext/common/agents/LoggingAgent/AdminServer.h +369 -0
- data/ext/common/agents/LoggingAgent/LoggingServer.h +1 -0
- data/ext/common/agents/LoggingAgent/Main.cpp +422 -215
- data/ext/common/agents/LoggingAgent/OptionParser.h +167 -0
- data/ext/common/agents/LoggingAgent/RemoteSender.h +3 -3
- data/ext/common/agents/Main.cpp +107 -0
- data/ext/common/agents/SpawnPreparer/Main.cpp +207 -0
- data/ext/common/agents/TempDirToucher/Main.cpp +429 -0
- data/ext/common/agents/Watchdog/AdminServer.h +390 -0
- data/ext/common/agents/Watchdog/AgentWatcher.cpp +7 -5
- data/ext/common/agents/Watchdog/HelperAgentWatcher.cpp +18 -39
- data/ext/common/agents/Watchdog/InstanceDirToucher.cpp +116 -0
- data/ext/common/agents/Watchdog/LoggingAgentWatcher.cpp +13 -17
- data/ext/common/agents/Watchdog/Main.cpp +743 -202
- data/ext/libeio/eio.c +17 -0
- data/ext/libeio/eio.h +2 -0
- data/ext/nginx/CacheLocationConfig.c +177 -198
- data/ext/nginx/CacheLocationConfig.c.erb +35 -22
- data/ext/nginx/Configuration.c +402 -236
- data/ext/nginx/Configuration.h +12 -5
- data/ext/nginx/ConfigurationCommands.c +35 -15
- data/ext/nginx/ConfigurationCommands.c.erb +4 -4
- data/ext/nginx/ConfigurationFields.h +9 -5
- data/ext/nginx/ConfigurationFields.h.erb +3 -1
- data/ext/nginx/ContentHandler.c +393 -362
- data/ext/nginx/CreateLocationConfig.c +8 -4
- data/ext/nginx/CreateLocationConfig.c.erb +8 -3
- data/ext/nginx/MergeLocationConfig.c +36 -6
- data/ext/nginx/MergeLocationConfig.c.erb +42 -1
- data/ext/nginx/ngx_http_passenger_module.c +28 -15
- data/ext/oxt/detail/backtrace_disabled.hpp +2 -1
- data/ext/oxt/detail/backtrace_enabled.hpp +15 -2
- data/ext/oxt/implementation.cpp +92 -20
- data/ext/oxt/thread.hpp +5 -0
- data/ext/ruby/extconf.rb +3 -6
- data/ext/ruby/passenger_native_support.c +13 -40
- data/helper-scripts/download_binaries/extconf.rb +4 -4
- data/helper-scripts/meteor-loader.rb +12 -112
- data/helper-scripts/node-loader.js +3 -91
- data/helper-scripts/rack-loader.rb +13 -14
- data/helper-scripts/rack-preloader.rb +16 -17
- data/helper-scripts/wsgi-loader.py +11 -7
- data/lib/phusion_passenger.rb +100 -79
- data/lib/phusion_passenger/abstract_installer.rb +28 -3
- data/lib/phusion_passenger/admin_tools.rb +3 -3
- data/lib/phusion_passenger/admin_tools/instance.rb +207 -0
- data/lib/phusion_passenger/admin_tools/instance_registry.rb +98 -0
- data/lib/phusion_passenger/apache2/config_options.rb +72 -22
- data/lib/phusion_passenger/common_library.rb +79 -14
- data/lib/phusion_passenger/config/about_command.rb +17 -23
- data/lib/phusion_passenger/config/admin_command_command.rb +175 -0
- data/lib/phusion_passenger/config/agent_compiler.rb +170 -0
- data/lib/phusion_passenger/config/command.rb +1 -4
- data/lib/phusion_passenger/config/compile_agent_command.rb +102 -0
- data/lib/phusion_passenger/config/compile_nginx_engine_command.rb +112 -0
- data/lib/phusion_passenger/config/detach_process_command.rb +32 -10
- data/lib/phusion_passenger/config/download_agent_command.rb +285 -0
- data/lib/phusion_passenger/config/download_nginx_engine_command.rb +281 -0
- data/lib/phusion_passenger/config/install_agent_command.rb +174 -0
- data/lib/phusion_passenger/config/install_standalone_runtime_command.rb +231 -0
- data/lib/phusion_passenger/config/installation_utils.rb +241 -0
- data/lib/phusion_passenger/config/list_instances_command.rb +13 -25
- data/lib/phusion_passenger/config/main.rb +43 -14
- data/lib/phusion_passenger/config/nginx_engine_compiler.rb +337 -0
- data/lib/phusion_passenger/config/reopen_logs_command.rb +110 -0
- data/lib/phusion_passenger/config/restart_app_command.rb +61 -14
- data/lib/phusion_passenger/config/system_metrics_command.rb +2 -1
- data/lib/phusion_passenger/config/utils.rb +64 -39
- data/lib/phusion_passenger/config/validate_install_command.rb +2 -2
- data/lib/phusion_passenger/constants.rb +27 -6
- data/lib/phusion_passenger/debug_logging.rb +32 -15
- data/lib/phusion_passenger/loader_shared_helpers.rb +2 -5
- data/lib/phusion_passenger/message_client.rb +21 -22
- data/lib/phusion_passenger/native_support.rb +26 -31
- data/lib/phusion_passenger/nginx/config_options.rb +32 -19
- data/lib/phusion_passenger/packaging.rb +7 -3
- data/lib/phusion_passenger/platform_info/cxx_portability.rb +1 -2
- data/lib/phusion_passenger/platform_info/depcheck_specs/libs.rb +3 -4
- data/lib/phusion_passenger/platform_info/operating_system.rb +6 -6
- data/lib/phusion_passenger/preloader_shared_helpers.rb +2 -2
- data/lib/phusion_passenger/rack/out_of_band_gc.rb +2 -2
- data/lib/phusion_passenger/rack/thread_handler_extension.rb +168 -65
- data/lib/phusion_passenger/request_handler.rb +47 -82
- data/lib/phusion_passenger/request_handler/thread_handler.rb +46 -10
- data/lib/phusion_passenger/ruby_core_enhancements.rb +25 -77
- data/lib/phusion_passenger/ruby_core_io_enhancements.rb +108 -0
- data/lib/phusion_passenger/standalone/app_finder.rb +39 -59
- data/lib/phusion_passenger/standalone/command.rb +27 -275
- data/lib/phusion_passenger/standalone/command2.rb +292 -0
- data/lib/phusion_passenger/standalone/config_utils.rb +87 -0
- data/lib/phusion_passenger/standalone/control_utils.rb +88 -0
- data/lib/phusion_passenger/standalone/main.rb +69 -71
- data/lib/phusion_passenger/standalone/start2_command.rb +799 -0
- data/lib/phusion_passenger/standalone/start_command.rb +406 -467
- data/lib/phusion_passenger/standalone/start_command/builtin_engine.rb +167 -0
- data/lib/phusion_passenger/standalone/start_command/nginx_engine.rb +165 -0
- data/lib/phusion_passenger/standalone/status_command.rb +64 -23
- data/lib/phusion_passenger/standalone/stop_command.rb +69 -32
- data/lib/phusion_passenger/standalone/version_command.rb +1 -5
- data/lib/phusion_passenger/utils.rb +0 -4
- data/lib/phusion_passenger/utils/json.rb +70 -4
- data/lib/phusion_passenger/utils/progress_bar.rb +56 -0
- data/lib/phusion_passenger/utils/tee_input.rb +3 -3
- data/lib/phusion_passenger/utils/unseekable_socket.rb +30 -0
- data/packaging/rpm/nginx_spec/nginx.spec.template +4 -3
- data/packaging/rpm/passenger_spec/passenger.spec.template +6 -10
- data/packaging/rpm/setup-system +2 -1
- data/resources/oss-binaries.phusionpassenger.com.crt +208 -0
- data/resources/templates/config/agent_compiler/confirm_enable_optimizations.txt.erb +5 -0
- data/resources/templates/config/installation_utils/cannot_create_user_support_binaries_dir.txt.erb +15 -0
- data/resources/templates/config/installation_utils/download_tool_missing.txt.erb +7 -0
- data/resources/templates/config/installation_utils/passenger_not_installed_as_root.txt.erb +12 -0
- data/resources/templates/config/installation_utils/support_binaries_dir_not_writable_despite_running_as_root.txt.erb +13 -0
- data/resources/templates/config/installation_utils/unexpected_filesystem_problem.txt.erb +16 -0
- data/{packaging/debian/debian_specs/passenger/patches/series → resources/templates/config/installation_utils/user_support_binaries_dir_not_writable.txt.erb} +0 -0
- data/resources/templates/nginx/nginx_module_sources_not_available.txt.erb +2 -2
- data/resources/templates/standalone/config.erb +14 -16
- data/resources/templates/standalone/possible_solutions_for_download_and_extraction_problems.txt.erb +1 -1
- data/test/.rspec +1 -0
- data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +20 -17
- data/test/cxx/ApplicationPool2/OptionsTest.cpp +0 -14
- data/test/cxx/ApplicationPool2/PoolTest.cpp +113 -90
- data/test/cxx/ApplicationPool2/ProcessTest.cpp +18 -27
- data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +51 -53
- data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +55 -57
- data/test/cxx/BufferedIOTest.cpp +40 -40
- data/test/cxx/CxxTestMain.cpp +4 -22
- data/test/cxx/DataStructures/LStringTest.cpp +275 -0
- data/test/cxx/DataStructures/StringKeyTableTest.cpp +199 -0
- data/test/cxx/MemoryKit/MbufTest.cpp +213 -0
- data/test/cxx/MessageServerTest.cpp +62 -55
- data/test/cxx/RequestHandlerTest.cpp +26 -27
- data/test/cxx/ServerKit/ChannelTest.cpp +1467 -0
- data/test/cxx/ServerKit/FileBufferedChannelTest.cpp +817 -0
- data/test/cxx/ServerKit/HeaderTableTest.cpp +171 -0
- data/test/cxx/ServerKit/HttpServerTest.cpp +1503 -0
- data/test/cxx/ServerKit/ServerTest.cpp +408 -0
- data/test/cxx/TestSupport.cpp +51 -15
- data/test/cxx/TestSupport.h +31 -21
- data/test/cxx/UnionStationTest.cpp +121 -122
- data/test/cxx/UtilsTest.cpp +9 -33
- data/test/integration_tests/apache2_tests.rb +65 -27
- data/test/integration_tests/downloaded_binaries_tests.rb +30 -6
- data/test/integration_tests/native_packaging_spec.rb +32 -17
- data/test/integration_tests/nginx_tests.rb +28 -10
- data/test/integration_tests/shared/example_webapp_tests.rb +40 -27
- data/test/integration_tests/standalone_tests.rb +232 -169
- data/test/ruby/debug_logging_spec.rb +44 -40
- data/test/ruby/rails3.0/preloader_spec.rb +1 -1
- data/test/ruby/rails3.1/preloader_spec.rb +1 -1
- data/test/ruby/rails3.2/preloader_spec.rb +1 -1
- data/test/ruby/rails4.0/preloader_spec.rb +1 -1
- data/test/ruby/rails4.1/preloader_spec.rb +1 -1
- data/test/ruby/request_handler_spec.rb +62 -24
- data/test/ruby/shared/loader_sharedspec.rb +10 -9
- data/test/ruby/shared/rails/union_station_extensions_sharedspec.rb +23 -22
- data/test/ruby/spec_helper.rb +2 -11
- data/test/ruby/standalone/runtime_installer_spec.rb +15 -13
- data/test/ruby/union_station_spec.rb +45 -40
- data/test/ruby/utils/tee_input_spec.rb +5 -5
- data/test/ruby/utils_spec.rb +3 -39
- data/test/stub/apache2/httpd.conf.erb +5 -2
- data/test/stub/nginx/nginx.conf.erb +3 -1
- data/test/support/apache2_controller.rb +25 -25
- data/test/support/nginx_controller.rb +14 -14
- data/test/support/test_helper.rb +74 -75
- metadata +439 -643
- metadata.gz.asc +7 -7
- data/ext/common/MultiLibeio.cpp +0 -204
- data/ext/common/MultiLibeio.h +0 -67
- data/ext/common/ServerInstanceDir.h +0 -402
- data/ext/common/Utils/Base64.cpp +0 -143
- data/ext/common/Utils/Base64.h +0 -83
- data/ext/common/Utils/HttpHeaderBufferer.h +0 -184
- data/ext/common/Utils/PriorityQueue.h +0 -54
- data/ext/common/Utils/StreamBoyerMooreHorspool.h +0 -512
- data/ext/common/Utils/fib.c +0 -699
- data/ext/common/Utils/fib.h +0 -101
- data/ext/common/Utils/fibpriv.h +0 -67
- data/ext/common/agents/EnvPrinter.c +0 -16
- data/ext/common/agents/HelperAgent/AgentOptions.h +0 -109
- data/ext/common/agents/HelperAgent/FileBackedPipe.h +0 -732
- data/ext/common/agents/HelperAgent/RequestHandler.cpp +0 -294
- data/ext/common/agents/HelperAgent/ScgiRequestParser.h +0 -457
- data/ext/common/agents/LoggingAgent/AdminController.h +0 -96
- data/ext/common/agents/SpawnPreparer.cpp +0 -206
- data/ext/common/agents/TempDirToucher.c +0 -383
- data/ext/common/agents/Watchdog/ServerInstanceDirToucher.cpp +0 -116
- data/helper-scripts/classic-rails-loader.rb +0 -166
- data/helper-scripts/classic-rails-preloader.rb +0 -193
- data/lib/phusion_passenger/admin_tools/server_instance.rb +0 -339
- data/lib/phusion_passenger/classic_rails/cgi_fixed.rb +0 -68
- data/lib/phusion_passenger/classic_rails/thread_handler_extension.rb +0 -40
- data/lib/phusion_passenger/platform_info/openssl.rb +0 -61
- data/lib/phusion_passenger/standalone/config_file.rb +0 -119
- data/lib/phusion_passenger/standalone/help_command.rb +0 -57
- data/lib/phusion_passenger/standalone/runtime_installer.rb +0 -712
- data/lib/phusion_passenger/standalone/runtime_locator.rb +0 -170
- data/lib/phusion_passenger/standalone/utils.rb +0 -58
- data/lib/phusion_passenger/utils/tmpdir.rb +0 -69
- data/packaging/debian/LICENSE.md +0 -19
- data/packaging/debian/README.md +0 -320
- data/packaging/debian/Vagrantfile +0 -25
- data/packaging/debian/build +0 -210
- data/packaging/debian/debian_specs/nginx/changelog +0 -1989
- data/packaging/debian/debian_specs/nginx/compat.erb +0 -5
- data/packaging/debian/debian_specs/nginx/conf/fastcgi.conf +0 -25
- data/packaging/debian/debian_specs/nginx/conf/fastcgi_params +0 -24
- data/packaging/debian/debian_specs/nginx/conf/koi-utf +0 -109
- data/packaging/debian/debian_specs/nginx/conf/koi-win +0 -103
- data/packaging/debian/debian_specs/nginx/conf/mime.types +0 -89
- data/packaging/debian/debian_specs/nginx/conf/nginx.conf.erb +0 -97
- data/packaging/debian/debian_specs/nginx/conf/proxy_params +0 -4
- data/packaging/debian/debian_specs/nginx/conf/scgi_params +0 -16
- data/packaging/debian/debian_specs/nginx/conf/sites-available/default.erb +0 -93
- data/packaging/debian/debian_specs/nginx/conf/snippets/fastcgi-php.conf +0 -13
- data/packaging/debian/debian_specs/nginx/conf/snippets/snakeoil.conf +0 -5
- data/packaging/debian/debian_specs/nginx/conf/uwsgi_params +0 -16
- data/packaging/debian/debian_specs/nginx/conf/win-utf +0 -125
- data/packaging/debian/debian_specs/nginx/control.erb +0 -226
- data/packaging/debian/debian_specs/nginx/copyright +0 -196
- data/packaging/debian/debian_specs/nginx/debian-full.lintian-overrides +0 -1
- data/packaging/debian/debian_specs/nginx/gbp.conf +0 -2
- data/packaging/debian/debian_specs/nginx/help/docs/fcgiwrap +0 -14
- data/packaging/debian/debian_specs/nginx/help/docs/php +0 -119
- data/packaging/debian/debian_specs/nginx/help/docs/support-irc +0 -28
- data/packaging/debian/debian_specs/nginx/help/docs/upstream +0 -51
- data/packaging/debian/debian_specs/nginx/help/examples/drupal +0 -114
- data/packaging/debian/debian_specs/nginx/help/examples/http +0 -59
- data/packaging/debian/debian_specs/nginx/help/examples/mail +0 -30
- data/packaging/debian/debian_specs/nginx/help/examples/mailman +0 -59
- data/packaging/debian/debian_specs/nginx/help/examples/nginx.conf +0 -34
- data/packaging/debian/debian_specs/nginx/help/examples/nginx_modsite +0 -162
- data/packaging/debian/debian_specs/nginx/help/examples/virtual_hosts +0 -155
- data/packaging/debian/debian_specs/nginx/help/examples/wordpress +0 -74
- data/packaging/debian/debian_specs/nginx/helpers.rb +0 -41
- data/packaging/debian/debian_specs/nginx/index-debian.html.in +0 -32
- data/packaging/debian/debian_specs/nginx/index-ubuntu.html.in +0 -32
- data/packaging/debian/debian_specs/nginx/index.html.erb +0 -10
- data/packaging/debian/debian_specs/nginx/modules/README.Modules-versions +0 -65
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/README.markdown +0 -510
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/config +0 -5
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/doc/HttpHeadersMoreModule.wiki +0 -395
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ddebug.h +0 -119
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_filter_module.c +0 -348
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_filter_module.h +0 -80
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_in.c +0 -826
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_in.h +0 -26
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_out.c +0 -716
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_out.h +0 -26
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_util.c +0 -380
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_util.h +0 -52
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/util/build.sh +0 -32
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/valgrind.suppress +0 -215
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/ChangeLog +0 -35
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/LICENSE +0 -25
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/README.md +0 -93
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/config +0 -4
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/ngx_http_auth_pam_module.c +0 -462
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/CHANGES +0 -66
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/LICENSE +0 -26
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/README.md +0 -171
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/TODO.md +0 -7
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/config +0 -21
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/ngx_cache_purge_module.c +0 -1803
- data/packaging/debian/debian_specs/nginx/modules/nginx-dav-ext-module/README +0 -29
- data/packaging/debian/debian_specs/nginx/modules/nginx-dav-ext-module/config +0 -9
- data/packaging/debian/debian_specs/nginx/modules/nginx-dav-ext-module/ngx_http_dav_ext_module.c +0 -824
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/README +0 -139
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/README_AUTO_LIB +0 -395
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/TODO +0 -1
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/actions/array +0 -10
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/actions/palloc +0 -8
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/build +0 -597
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/action_replacements +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/action_types +0 -12
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/conf_args +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/conf_locs +0 -25
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/conf_macros +0 -35
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/contexts +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/header_files +0 -3
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/headers +0 -4
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/module_dependencies +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/modules_optional +0 -15
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/prefixes +0 -2
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/array.h +0 -7
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/conf_cmd_basic.h +0 -43
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/conf_merge.h +0 -78
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/palloc.h +0 -6
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/text/autogen +0 -12
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/config +0 -49
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/core/action_macros +0 -63
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/core/conf_cmds +0 -62
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/modules/set_var +0 -124
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/patches/more_logging_info +0 -48
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/upstream/list +0 -45
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/examples/README +0 -12
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/examples/http/set_var/config +0 -4
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/examples/http/set_var/ngx_http_set_var_examples_module.c +0 -136
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/ngx_auto_lib_core +0 -797
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/notes/CHANGES +0 -17
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/notes/LICENSE +0 -24
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_array.h +0 -113
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_conf_cmd_basic.h +0 -2203
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_conf_cmd_extra.h +0 -5423
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_conf_merge.h +0 -227
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_config.c +0 -72
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_config.h +0 -98
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_includes.h +0 -66
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_palloc.h +0 -112
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/patches/auto_config +0 -16
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/patches/expose_rewrite_functions +0 -291
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/patches/rewrite_phase_handler +0 -19
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/hash/md5.h +0 -117
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/hash/murmurhash2.c +0 -77
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/hash/sha.h +0 -200
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk.c +0 -155
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk.h +0 -58
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_buf.c +0 -43
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_buf.h +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_path.c +0 -129
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_path.h +0 -30
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_value.c +0 -192
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_value.h +0 -21
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_conf_file.c +0 -396
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_conf_file.h +0 -44
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_debug.c +0 -72
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_debug.h +0 -171
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_encoding.c +0 -57
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_encoding.h +0 -12
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_hash.c +0 -82
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_hash.h +0 -45
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_http.c +0 -138
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_http.h +0 -3
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_http_headers.h +0 -35
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_log.c +0 -3
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_log.h +0 -165
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_parse.h +0 -67
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_path.c +0 -583
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_path.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_process.c +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_process.h +0 -12
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_regex.c +0 -215
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_regex.h +0 -7
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_rewrite.c +0 -103
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_rewrite.h +0 -26
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_set_var.c +0 -602
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_set_var.h +0 -44
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_string.c +0 -434
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_string.h +0 -37
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_string_util.h +0 -14
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_upstream_list.c +0 -205
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_upstream_list.h +0 -27
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_uri.c +0 -45
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_uri.h +0 -6
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/LICENSE +0 -25
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/README.markdown +0 -1850
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/config +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/doc/HttpEchoModule.wiki +0 -1558
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ddebug.h +0 -109
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_echo.c +0 -344
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_echo.h +0 -25
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_filter.c +0 -282
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_filter.h +0 -15
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_foreach.c +0 -183
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_foreach.h +0 -16
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_handler.c +0 -429
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_handler.h +0 -18
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_location.c +0 -178
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_location.h +0 -13
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_module.c +0 -667
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_module.h +0 -137
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_request_info.c +0 -452
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_request_info.h +0 -31
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_sleep.c +0 -208
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_sleep.h +0 -16
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_subrequest.c +0 -788
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_subrequest.h +0 -19
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_timer.c +0 -96
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_timer.h +0 -13
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_util.c +0 -298
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_util.h +0 -58
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_var.c +0 -110
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_var.h +0 -9
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/util/build.sh +0 -45
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/util/releng +0 -8
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/util/wiki2pod.pl +0 -131
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/valgrind.suppress +0 -38
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/LICENCE +0 -24
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/README +0 -206
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/changelog.txt +0 -54
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/config +0 -26
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/protocol.txt +0 -191
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_defs.c +0 -59
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_defs.h +0 -73
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_module.c +0 -783
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_module.h +0 -31
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_module_setup.c +0 -361
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_types.h +0 -120
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/memory/store.c +0 -1180
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/memory/store.h +0 -1
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_http_push_module_ipc.c +0 -146
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_http_push_module_ipc.h +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_http_push_store.h +0 -51
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_rwlock.c +0 -178
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_rwlock.h +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/rbtree_util.c +0 -246
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/rbtree_util.h +0 -9
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/Changes +0 -51
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/README.markdown +0 -6954
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/config +0 -363
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/doc/HttpLuaModule.wiki +0 -5898
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/dtrace/ngx_lua_provider.d +0 -61
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/misc/recv-until-pm/Makefile +0 -3
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/misc/recv-until-pm/lib/RecvUntil.pm +0 -138
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/misc/recv-until-pm/t/sanity.t +0 -140
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/api/ngx_http_lua_api.h +0 -52
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ddebug.h +0 -82
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_accessby.c +0 -377
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_accessby.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_api.c +0 -77
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_args.c +0 -537
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_args.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_bodyfilterby.c +0 -632
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_bodyfilterby.h +0 -31
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_cache.c +0 -296
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_cache.h +0 -24
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_capturefilter.c +0 -175
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_capturefilter.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_clfactory.c +0 -887
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_clfactory.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_common.h +0 -478
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_config.c +0 -67
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_config.h +0 -19
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_consts.c +0 -148
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_consts.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_contentby.c +0 -369
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_contentby.h +0 -26
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_control.c +0 -483
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_control.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_coroutine.c +0 -379
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_coroutine.h +0 -23
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ctx.c +0 -216
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ctx.h +0 -23
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_directive.c +0 -1081
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_directive.h +0 -56
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_exception.c +0 -58
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_exception.h +0 -33
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headerfilterby.c +0 -302
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headerfilterby.h +0 -29
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers.c +0 -1370
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_in.c +0 -782
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_in.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_out.c +0 -625
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_out.h +0 -23
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initby.c +0 -42
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initby.h +0 -23
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initworkerby.c +0 -320
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initworkerby.h +0 -25
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_log.c +0 -300
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_log.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_logby.c +0 -227
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_logby.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_misc.c +0 -252
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_misc.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_module.c +0 -924
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ndk.c +0 -184
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ndk.h +0 -21
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_output.c +0 -794
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_output.h +0 -28
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_pcrefix.c +0 -106
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_pcrefix.h +0 -23
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_phase.c +0 -94
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_phase.h +0 -13
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_probe.h +0 -85
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_regex.c +0 -2468
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_regex.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_body.c +0 -1169
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_body.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_method.c +0 -252
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_method.h +0 -19
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_rewriteby.c +0 -351
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_rewriteby.h +0 -22
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_script.c +0 -538
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_script.h +0 -86
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_setby.c +0 -216
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_setby.h +0 -15
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_shdict.c +0 -1844
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_shdict.h +0 -52
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_sleep.c +0 -191
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_sleep.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_tcp.c +0 -5314
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_tcp.h +0 -156
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_udp.c +0 -1624
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_udp.h +0 -56
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_string.c +0 -704
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_string.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_subrequest.c +0 -1741
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_subrequest.h +0 -46
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_time.c +0 -278
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_time.h +0 -21
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_timer.c +0 -661
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_timer.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uri.c +0 -110
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uri.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uthread.c +0 -283
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uthread.h +0 -36
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_util.c +0 -3972
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_util.h +0 -423
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_variable.c +0 -499
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_variable.h +0 -20
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_worker.c +0 -64
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_worker.h +0 -17
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/tapset/ngx_lua.stp +0 -5
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/build.sh +0 -39
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/build2.sh +0 -55
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/fix-comments +0 -27
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/gdbinit +0 -415
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/ngx-links +0 -62
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/reindex +0 -64
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/releng +0 -8
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/retab +0 -8
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/revim +0 -102
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/run_test.sh +0 -10
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/update-readme.sh +0 -4
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/valgrind.suppress +0 -144
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/CHANGES +0 -107
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/LICENSE +0 -25
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/Makefile +0 -8
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/README +0 -329
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/config +0 -3
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/ngx_http_uploadprogress_module.c +0 -1774
- data/packaging/debian/debian_specs/nginx/modules/nginx-upstream-fair/README +0 -53
- data/packaging/debian/debian_specs/nginx/modules/nginx-upstream-fair/config +0 -3
- data/packaging/debian/debian_specs/nginx/modules/nginx-upstream-fair/ngx_http_upstream_fair_module.c +0 -1356
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/CHANGELOG.md +0 -37
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/HACKING.md +0 -24
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/LICENSE +0 -20
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/README.rst +0 -182
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/config +0 -8
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/nginx-0.6-support.patch +0 -23
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/ngx_http_fancyindex_module.c +0 -1305
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/template.awk +0 -52
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/template.h +0 -103
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/template.html +0 -102
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/CHANGES +0 -37
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/README +0 -141
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/config +0 -3
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/doc/README.google_code_home_page.wiki +0 -120
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/doc/README.html +0 -199
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/doc/README.wiki +0 -123
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/ngx_http_subs_filter_module.c +0 -1298
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/README +0 -275
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/AutoInstall.pm +0 -820
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install.pm +0 -470
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/AutoInstall.pm +0 -82
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Base.pm +0 -83
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Can.pm +0 -81
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Fetch.pm +0 -93
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Include.pm +0 -34
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Makefile.pm +0 -415
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Metadata.pm +0 -716
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/TestBase.pm +0 -29
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Win32.pm +0 -64
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/WriteAll.pm +0 -63
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Spiffy.pm +0 -539
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Base.pm +0 -682
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Base/Filter.pm +0 -341
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Builder.pm +0 -1413
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Builder/Module.pm +0 -81
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/More.pm +0 -735
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx.pm +0 -315
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx/LWP.pm +0 -524
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx/Socket.pm +0 -1749
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx/Util.pm +0 -874
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs.t +0 -136
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_capture.t +0 -32
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_fix_string.t +0 -32
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_regex.t +0 -108
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_types.t +0 -59
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/test.sh +0 -5
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/util/update-readme.sh +0 -7
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/util/wiki2google_code_homepage.pl +0 -29
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/util/wiki2pod.pl +0 -129
- data/packaging/debian/debian_specs/nginx/nginx-common.NEWS +0 -135
- data/packaging/debian/debian_specs/nginx/nginx-common.README.Debian +0 -45
- data/packaging/debian/debian_specs/nginx/nginx-common.dirs.erb +0 -32
- data/packaging/debian/debian_specs/nginx/nginx-common.install +0 -3
- data/packaging/debian/debian_specs/nginx/nginx-common.lintian-overrides +0 -2
- data/packaging/debian/debian_specs/nginx/nginx-common.manpages +0 -1
- data/packaging/debian/debian_specs/nginx/nginx-common.nginx.default +0 -10
- data/packaging/debian/debian_specs/nginx/nginx-common.nginx.init.erb +0 -214
- data/packaging/debian/debian_specs/nginx/nginx-common.nginx.logrotate +0 -18
- data/packaging/debian/debian_specs/nginx/nginx-common.nginx.service.erb +0 -37
- data/packaging/debian/debian_specs/nginx/nginx-common.postinst.erb +0 -66
- data/packaging/debian/debian_specs/nginx/nginx-common.postrm.erb +0 -46
- data/packaging/debian/debian_specs/nginx/nginx-common.preinst +0 -47
- data/packaging/debian/debian_specs/nginx/nginx-common.prerm.erb +0 -28
- data/packaging/debian/debian_specs/nginx/nginx-doc.docs +0 -2
- data/packaging/debian/debian_specs/nginx/nginx-doc.examples +0 -1
- data/packaging/debian/debian_specs/nginx/nginx-extras.install.erb +0 -17
- data/packaging/debian/debian_specs/nginx/nginx-extras.lintian-overrides +0 -1
- data/packaging/debian/debian_specs/nginx/nginx-extras.postinst.erb +0 -44
- data/packaging/debian/debian_specs/nginx/nginx-extras.prerm +0 -22
- data/packaging/debian/debian_specs/nginx/nginx.1 +0 -47
- data/packaging/debian/debian_specs/nginx/patches/perl-use-dpkg-buildflags.patch +0 -23
- data/packaging/debian/debian_specs/nginx/patches/series +0 -1
- data/packaging/debian/debian_specs/nginx/rules.erb +0 -185
- data/packaging/debian/debian_specs/nginx/source/format +0 -1
- data/packaging/debian/debian_specs/nginx/tests/control +0 -4
- data/packaging/debian/debian_specs/nginx/ufw/nginx +0 -14
- data/packaging/debian/debian_specs/nginx/upstream/signing-key.asc +0 -34
- data/packaging/debian/debian_specs/nginx/watch +0 -3
- data/packaging/debian/debian_specs/passenger/README.Debian +0 -12
- data/packaging/debian/debian_specs/passenger/changelog +0 -316
- data/packaging/debian/debian_specs/passenger/compat +0 -1
- data/packaging/debian/debian_specs/passenger/control.erb +0 -123
- data/packaging/debian/debian_specs/passenger/copyright +0 -385
- data/packaging/debian/debian_specs/passenger/helpers.rb +0 -24
- data/packaging/debian/debian_specs/passenger/libapache2-mod-passenger.install +0 -3
- data/packaging/debian/debian_specs/passenger/libapache2-mod-passenger.postinst +0 -36
- data/packaging/debian/debian_specs/passenger/libapache2-mod-passenger.prerm +0 -15
- data/packaging/debian/debian_specs/passenger/locations.ini.erb +0 -14
- data/packaging/debian/debian_specs/passenger/passenger-dev.install.erb +0 -3
- data/packaging/debian/debian_specs/passenger/passenger-doc.install.erb +0 -2
- data/packaging/debian/debian_specs/passenger/passenger.conf +0 -6
- data/packaging/debian/debian_specs/passenger/passenger.docs +0 -4
- data/packaging/debian/debian_specs/passenger/passenger.install.erb +0 -16
- data/packaging/debian/debian_specs/passenger/passenger.load +0 -3
- data/packaging/debian/debian_specs/passenger/passenger.manpages +0 -3
- data/packaging/debian/debian_specs/passenger/passenger_free_ruby.c +0 -29
- data/packaging/debian/debian_specs/passenger/passenger_ruby_utils.c +0 -54
- data/packaging/debian/debian_specs/passenger/passenger_system_ruby.c.erb +0 -37
- data/packaging/debian/debian_specs/passenger/rules.erb +0 -84
- data/packaging/debian/debian_specs/passenger/source/format +0 -1
- data/packaging/debian/debian_specs/passenger_enterprise/README.Debian +0 -12
- data/packaging/debian/debian_specs/passenger_enterprise/changelog +0 -316
- data/packaging/debian/debian_specs/passenger_enterprise/compat +0 -1
- data/packaging/debian/debian_specs/passenger_enterprise/control.erb +0 -123
- data/packaging/debian/debian_specs/passenger_enterprise/copyright +0 -385
- data/packaging/debian/debian_specs/passenger_enterprise/helpers.rb +0 -2
- data/packaging/debian/debian_specs/passenger_enterprise/libapache2-mod-passenger-enterprise.install +0 -3
- data/packaging/debian/debian_specs/passenger_enterprise/libapache2-mod-passenger-enterprise.postinst +0 -36
- data/packaging/debian/debian_specs/passenger_enterprise/libapache2-mod-passenger-enterprise.prerm +0 -15
- data/packaging/debian/debian_specs/passenger_enterprise/locations.ini.erb +0 -14
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise-dev.install.erb +0 -3
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise-doc.install.erb +0 -2
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise.docs +0 -4
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise.install.erb +0 -14
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise.manpages +0 -3
- data/packaging/debian/debian_specs/passenger_enterprise/passenger.conf +0 -6
- data/packaging/debian/debian_specs/passenger_enterprise/passenger.load +0 -3
- data/packaging/debian/debian_specs/passenger_enterprise/passenger_free_ruby.c.erb +0 -1
- data/packaging/debian/debian_specs/passenger_enterprise/passenger_ruby_utils.c.erb +0 -1
- data/packaging/debian/debian_specs/passenger_enterprise/passenger_system_ruby.c.erb +0 -1
- data/packaging/debian/debian_specs/passenger_enterprise/patches/series +0 -0
- data/packaging/debian/debian_specs/passenger_enterprise/rules.erb +0 -84
- data/packaging/debian/debian_specs/passenger_enterprise/source/format +0 -1
- data/packaging/debian/docker_images/Makefile +0 -38
- data/packaging/debian/docker_images/buildbox/CONTAINER_VERSION.txt +0 -0
- data/packaging/debian/docker_images/buildbox/Dockerfile +0 -3
- data/packaging/debian/docker_images/buildbox/Gemfile +0 -9
- data/packaging/debian/docker_images/buildbox/Gemfile.lock +0 -42
- data/packaging/debian/docker_images/buildbox/install.sh +0 -85
- data/packaging/debian/docker_images/buildbox/pbuilderrc +0 -4
- data/packaging/debian/docker_images/buildbox/sudoers.conf +0 -6
- data/packaging/debian/docker_images/setup-buildbox-docker-image +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-debian-6 +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-debian-7 +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-debian-8 +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-12.04 +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-14.04 +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-15.04 +0 -7
- data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-15.10 +0 -7
- data/packaging/debian/docker_images/testbox-debian-6/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-debian-6/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-debian-6/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-debian-6/argparse.py +0 -2374
- data/packaging/debian/docker_images/testbox-debian-6/install.sh +0 -78
- data/packaging/debian/docker_images/testbox-debian-7/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-debian-7/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-debian-7/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-debian-7/install.sh +0 -71
- data/packaging/debian/docker_images/testbox-debian-8/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-debian-8/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-debian-8/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-debian-8/install.sh +0 -70
- data/packaging/debian/docker_images/testbox-ubuntu-12.04/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-ubuntu-12.04/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-ubuntu-12.04/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-ubuntu-12.04/install.sh +0 -69
- data/packaging/debian/docker_images/testbox-ubuntu-14.04/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-ubuntu-14.04/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-ubuntu-14.04/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-ubuntu-14.04/install.sh +0 -69
- data/packaging/debian/docker_images/testbox-ubuntu-15.04/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-ubuntu-15.04/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-ubuntu-15.04/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-ubuntu-15.04/install.sh +0 -69
- data/packaging/debian/docker_images/testbox-ubuntu-15.10/Dockerfile +0 -3
- data/packaging/debian/docker_images/testbox-ubuntu-15.10/Gemfile +0 -2
- data/packaging/debian/docker_images/testbox-ubuntu-15.10/Gemfile.lock +0 -23
- data/packaging/debian/docker_images/testbox-ubuntu-15.10/install.sh +0 -69
- data/packaging/debian/internal/build/Rakefile +0 -235
- data/packaging/debian/internal/build/build-passenger-orig-tarball.sh +0 -76
- data/packaging/debian/internal/build/build-source-package.rb +0 -121
- data/packaging/debian/internal/build/download-nginx-orig-tarball.sh +0 -17
- data/packaging/debian/internal/build/rakefile_support.rb +0 -96
- data/packaging/debian/internal/build/setup-environment-essentials.sh +0 -15
- data/packaging/debian/internal/build/setup-environment.sh +0 -29
- data/packaging/debian/internal/lib/distro_info.rb +0 -82
- data/packaging/debian/internal/lib/distro_info.sh +0 -303
- data/packaging/debian/internal/lib/distro_info.sh.erb +0 -65
- data/packaging/debian/internal/lib/library.sh +0 -83
- data/packaging/debian/internal/lib/preprocessor.rb +0 -173
- data/packaging/debian/internal/lib/tracking.rb +0 -95
- data/packaging/debian/internal/lib/tracking_category.rb +0 -45
- data/packaging/debian/internal/lib/tracking_database.rb +0 -132
- data/packaging/debian/internal/lib/tracking_task.rb +0 -148
- data/packaging/debian/internal/lib/utils.rb +0 -78
- data/packaging/debian/internal/publish/Rakefile +0 -97
- data/packaging/debian/internal/publish/oss-binaries.phusionpassenger.com-fingerprint.txt +0 -1
- data/packaging/debian/internal/publish/packagecloud_fingerprint.txt +0 -1
- data/packaging/debian/internal/publish/passenger_website_fingerprint.txt +0 -1
- data/packaging/debian/internal/publish/preinit.sh +0 -7
- data/packaging/debian/internal/publish/rakefile_support.rb +0 -183
- data/packaging/debian/internal/scripts/gpg_noninteractive/gpg +0 -11
- data/packaging/debian/internal/scripts/initccache.sh +0 -35
- data/packaging/debian/internal/scripts/inituidgid.sh +0 -19
- data/packaging/debian/internal/scripts/my_init +0 -340
- data/packaging/debian/internal/scripts/pin_certificates +0 -34
- data/packaging/debian/internal/scripts/regen_distro_info_script.sh +0 -3
- data/packaging/debian/internal/scripts/setup-vagrant.sh +0 -12
- data/packaging/debian/internal/scripts/setuser +0 -31
- data/packaging/debian/internal/shell/initpbuilder.sh +0 -3
- data/packaging/debian/internal/shell/preinit.sh +0 -28
- data/packaging/debian/internal/shell/sudoers.conf +0 -1
- data/packaging/debian/internal/test/apache/apache-24.conf +0 -5
- data/packaging/debian/internal/test/apache/apache-pre-24.conf +0 -4
- data/packaging/debian/internal/test/apache/vhost.conf +0 -17
- data/packaging/debian/internal/test/misc/config.json +0 -15
- data/packaging/debian/internal/test/misc/hosts.conf +0 -4
- data/packaging/debian/internal/test/misc/init.sh +0 -25
- data/packaging/debian/internal/test/misc/nodejs_test_app.js +0 -6
- data/packaging/debian/internal/test/misc/python_test_app.py +0 -3
- data/packaging/debian/internal/test/misc/ruby_test_app.rb +0 -5
- data/packaging/debian/internal/test/misc/test_support.rb +0 -61
- data/packaging/debian/internal/test/nginx/vhost.conf +0 -23
- data/packaging/debian/internal/test/system_web_server_test.rb +0 -126
- data/packaging/debian/internal/test/test.sh +0 -141
- data/packaging/debian/jenkins/publish/clear_caches.rb +0 -48
- data/packaging/debian/jenkins/publish/publish.sh +0 -69
- data/packaging/debian/jenkins/test/test.sh +0 -63
- data/packaging/debian/passenger_apt_automation.sublime-project +0 -14
- data/packaging/debian/publish +0 -172
- data/packaging/debian/shell +0 -116
- data/packaging/debian/test +0 -142
- data/packaging/rpm/passenger_spec/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch +0 -45
- data/test/cxx/Base64Test.cpp +0 -50
- data/test/cxx/FileBackedPipeTest.cpp +0 -626
- data/test/cxx/HttpHeaderBuffererTest.cpp +0 -257
- data/test/cxx/ScgiRequestParserTest.cpp +0 -423
- data/test/cxx/ServerInstanceDirTest.cpp +0 -175
- data/test/ruby/admin_tools_spec.rb +0 -360
- data/test/ruby/classic_rails/loader_spec.rb +0 -46
- data/test/ruby/classic_rails/preloader_spec.rb +0 -52
- data/test/ruby/standalone/runtime_locator_spec.rb +0 -214
- data/test/stub/rails2.3/Rakefile +0 -10
- data/test/stub/rails2.3/app/controllers/application_controller.rb +0 -10
- data/test/stub/rails2.3/app/controllers/bar_controller_1.rb +0 -5
- data/test/stub/rails2.3/app/controllers/bar_controller_2.rb +0 -5
- data/test/stub/rails2.3/app/controllers/foo_controller.rb +0 -21
- data/test/stub/rails2.3/app/helpers/application_helper.rb +0 -3
- data/test/stub/rails2.3/app/helpers/bar_helper.rb +0 -2
- data/test/stub/rails2.3/app/helpers/foo_helper.rb +0 -2
- data/test/stub/rails2.3/config/boot.rb +0 -110
- data/test/stub/rails2.3/config/database.yml +0 -19
- data/test/stub/rails2.3/config/environment.rb +0 -62
- data/test/stub/rails2.3/config/environments/development.rb +0 -17
- data/test/stub/rails2.3/config/environments/production.rb +0 -18
- data/test/stub/rails2.3/config/environments/staging.rb +0 -18
- data/test/stub/rails2.3/config/initializers/inflections.rb +0 -10
- data/test/stub/rails2.3/config/initializers/mime_types.rb +0 -5
- data/test/stub/rails2.3/config/routes.rb +0 -35
- data/test/stub/rails2.3/log/.gitignore +0 -1
- data/test/stub/rails2.3/public/.gitignore +0 -1
- data/test/stub/rails2.3/script/about +0 -3
- data/test/stub/rails2.3/script/console +0 -3
- data/test/stub/rails2.3/script/dbconsole +0 -3
- data/test/stub/rails2.3/script/destroy +0 -3
- data/test/stub/rails2.3/script/generate +0 -3
- data/test/stub/rails2.3/script/performance/benchmarker +0 -3
- data/test/stub/rails2.3/script/performance/profiler +0 -3
- data/test/stub/rails2.3/script/performance/request +0 -3
- data/test/stub/rails2.3/script/plugin +0 -3
- data/test/stub/rails2.3/script/process/inspector +0 -3
- data/test/stub/rails2.3/script/process/reaper +0 -3
- data/test/stub/rails2.3/script/process/spawner +0 -3
- data/test/stub/rails2.3/script/runner +0 -3
- data/test/stub/rails2.3/script/server +0 -3
- data/test/stub/rails2.3/tmp/cache/.gitignore +0 -1
- data/test/stub/rails2.3/tmp/pids/.gitignore +0 -1
- data/test/stub/rails2.3/tmp/sessions/.gitignore +0 -1
- data/test/stub/rails2.3/tmp/sockets/.gitignore +0 -1
@@ -0,0 +1,1475 @@
|
|
1
|
+
//////////////////////////////////////////////////////////////////////////////
|
2
|
+
//
|
3
|
+
// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost
|
4
|
+
// Software License, Version 1.0. (See accompanying file
|
5
|
+
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
6
|
+
//
|
7
|
+
// See http://www.boost.org/libs/container for documentation.
|
8
|
+
//
|
9
|
+
|
10
|
+
#ifndef BOOST_CONTAINER_LIST_HPP
|
11
|
+
#define BOOST_CONTAINER_LIST_HPP
|
12
|
+
|
13
|
+
#if (defined _MSC_VER) && (_MSC_VER >= 1200)
|
14
|
+
# pragma once
|
15
|
+
#endif
|
16
|
+
|
17
|
+
#include <boost/container/detail/config_begin.hpp>
|
18
|
+
#include <boost/container/detail/workaround.hpp>
|
19
|
+
#include <boost/container/container_fwd.hpp>
|
20
|
+
#include <boost/container/detail/version_type.hpp>
|
21
|
+
#include <boost/container/throw_exception.hpp>
|
22
|
+
#include <boost/move/utility.hpp>
|
23
|
+
#include <boost/move/iterator.hpp>
|
24
|
+
#include <boost/move/detail/move_helpers.hpp>
|
25
|
+
#include <boost/intrusive/pointer_traits.hpp>
|
26
|
+
#include <boost/container/detail/utilities.hpp>
|
27
|
+
#include <boost/container/detail/algorithms.hpp>
|
28
|
+
#include <boost/type_traits/has_trivial_destructor.hpp>
|
29
|
+
#include <boost/container/detail/mpl.hpp>
|
30
|
+
#include <boost/intrusive/list.hpp>
|
31
|
+
#include <boost/assert.hpp>
|
32
|
+
#include <boost/container/detail/node_alloc_holder.hpp>
|
33
|
+
|
34
|
+
#if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
35
|
+
#else
|
36
|
+
//Preprocessor library to emulate perfect forwarding
|
37
|
+
#include <boost/container/detail/preprocessor.hpp>
|
38
|
+
#endif
|
39
|
+
|
40
|
+
#include <iterator>
|
41
|
+
#include <utility>
|
42
|
+
#include <memory>
|
43
|
+
#include <functional>
|
44
|
+
#include <algorithm>
|
45
|
+
|
46
|
+
namespace boost {
|
47
|
+
namespace container {
|
48
|
+
|
49
|
+
/// @cond
|
50
|
+
namespace container_detail {
|
51
|
+
|
52
|
+
template<class VoidPointer>
|
53
|
+
struct list_hook
|
54
|
+
{
|
55
|
+
typedef typename container_detail::bi::make_list_base_hook
|
56
|
+
<container_detail::bi::void_pointer<VoidPointer>, container_detail::bi::link_mode<container_detail::bi::normal_link> >::type type;
|
57
|
+
};
|
58
|
+
|
59
|
+
template <class T, class VoidPointer>
|
60
|
+
struct list_node
|
61
|
+
: public list_hook<VoidPointer>::type
|
62
|
+
{
|
63
|
+
private:
|
64
|
+
list_node();
|
65
|
+
|
66
|
+
public:
|
67
|
+
typedef typename list_hook<VoidPointer>::type hook_type;
|
68
|
+
T m_data;
|
69
|
+
};
|
70
|
+
|
71
|
+
template<class Allocator>
|
72
|
+
struct intrusive_list_type
|
73
|
+
{
|
74
|
+
typedef boost::container::allocator_traits<Allocator> allocator_traits_type;
|
75
|
+
typedef typename allocator_traits_type::value_type value_type;
|
76
|
+
typedef typename boost::intrusive::pointer_traits
|
77
|
+
<typename allocator_traits_type::pointer>::template
|
78
|
+
rebind_pointer<void>::type
|
79
|
+
void_pointer;
|
80
|
+
typedef typename container_detail::list_node
|
81
|
+
<value_type, void_pointer> node_type;
|
82
|
+
typedef typename container_detail::bi::make_list
|
83
|
+
< node_type
|
84
|
+
, container_detail::bi::base_hook<typename list_hook<void_pointer>::type>
|
85
|
+
, container_detail::bi::constant_time_size<true>
|
86
|
+
, container_detail::bi::size_type
|
87
|
+
<typename allocator_traits_type::size_type>
|
88
|
+
>::type container_type;
|
89
|
+
typedef container_type type ;
|
90
|
+
};
|
91
|
+
|
92
|
+
template<class T, class IIterator>
|
93
|
+
class list_const_iterator
|
94
|
+
: public std::iterator< std::bidirectional_iterator_tag, T
|
95
|
+
, typename iiterator_types<T, IIterator>::difference_type
|
96
|
+
, typename iiterator_types<T, IIterator>::const_pointer
|
97
|
+
, typename iiterator_types<T, IIterator>::const_reference>
|
98
|
+
{
|
99
|
+
protected:
|
100
|
+
|
101
|
+
IIterator m_it;
|
102
|
+
|
103
|
+
public:
|
104
|
+
typedef typename iiterator_types<T, IIterator>::const_pointer const_pointer;
|
105
|
+
typedef typename iiterator_types<T, IIterator>::const_reference const_reference;
|
106
|
+
|
107
|
+
//Constructors
|
108
|
+
list_const_iterator()
|
109
|
+
: m_it()
|
110
|
+
{}
|
111
|
+
|
112
|
+
explicit list_const_iterator(const IIterator &it)
|
113
|
+
: m_it(it)
|
114
|
+
{}
|
115
|
+
|
116
|
+
//Pointer like operators
|
117
|
+
const_reference operator*() const
|
118
|
+
{ return this->m_it->m_data; }
|
119
|
+
|
120
|
+
const_pointer operator->() const
|
121
|
+
{ return ::boost::intrusive::pointer_traits<const_pointer>::pointer_to(this->m_it->m_data); }
|
122
|
+
|
123
|
+
//Increment / Decrement
|
124
|
+
list_const_iterator& operator++()
|
125
|
+
{ ++this->m_it; return *this; }
|
126
|
+
|
127
|
+
list_const_iterator operator++(int)
|
128
|
+
{ IIterator tmp = this->m_it; ++*this; return list_const_iterator(tmp); }
|
129
|
+
|
130
|
+
list_const_iterator& operator--()
|
131
|
+
{ --this->m_it; return *this; }
|
132
|
+
|
133
|
+
list_const_iterator operator--(int)
|
134
|
+
{ IIterator tmp = this->m_it; --*this; return list_const_iterator(tmp); }
|
135
|
+
|
136
|
+
//Comparison operators
|
137
|
+
friend bool operator== (const list_const_iterator& l, const list_const_iterator& r)
|
138
|
+
{ return l.m_it == r.m_it; }
|
139
|
+
|
140
|
+
friend bool operator!= (const list_const_iterator& l, const list_const_iterator& r)
|
141
|
+
{ return l.m_it != r.m_it; }
|
142
|
+
|
143
|
+
const IIterator &get() const
|
144
|
+
{ return this->m_it; }
|
145
|
+
};
|
146
|
+
|
147
|
+
template<class T, class IIterator>
|
148
|
+
class list_iterator
|
149
|
+
: public list_const_iterator<T, IIterator>
|
150
|
+
{
|
151
|
+
private:
|
152
|
+
typedef list_const_iterator<T, IIterator> const_iterator;
|
153
|
+
|
154
|
+
public:
|
155
|
+
typedef typename iiterator_types<T, IIterator>::pointer pointer;
|
156
|
+
typedef typename iiterator_types<T, IIterator>::reference reference;
|
157
|
+
|
158
|
+
//Constructors
|
159
|
+
list_iterator()
|
160
|
+
: const_iterator()
|
161
|
+
{}
|
162
|
+
|
163
|
+
explicit list_iterator(const IIterator &it)
|
164
|
+
: const_iterator(it)
|
165
|
+
{}
|
166
|
+
|
167
|
+
//Pointer like operators
|
168
|
+
reference operator*() const
|
169
|
+
{ return this->m_it->m_data; }
|
170
|
+
|
171
|
+
pointer operator->() const
|
172
|
+
{ return ::boost::intrusive::pointer_traits<pointer>::pointer_to(this->m_it->m_data); }
|
173
|
+
|
174
|
+
//Increment / Decrement
|
175
|
+
list_iterator& operator++()
|
176
|
+
{ ++this->m_it; return *this; }
|
177
|
+
|
178
|
+
list_iterator operator++(int)
|
179
|
+
{ IIterator tmp = this->m_it; ++*this; return list_iterator(tmp); }
|
180
|
+
|
181
|
+
list_iterator& operator--()
|
182
|
+
{ --this->m_it; return *this; }
|
183
|
+
|
184
|
+
list_iterator operator--(int)
|
185
|
+
{ IIterator tmp = this->m_it; --*this; return list_iterator(tmp); }
|
186
|
+
|
187
|
+
const IIterator &get() const
|
188
|
+
{ return this->m_it; }
|
189
|
+
};
|
190
|
+
|
191
|
+
} //namespace container_detail {
|
192
|
+
/// @endcond
|
193
|
+
|
194
|
+
//! A list is a doubly linked list. That is, it is a Sequence that supports both
|
195
|
+
//! forward and backward traversal, and (amortized) constant time insertion and
|
196
|
+
//! removal of elements at the beginning or the end, or in the middle. Lists have
|
197
|
+
//! the important property that insertion and splicing do not invalidate iterators
|
198
|
+
//! to list elements, and that even removal invalidates only the iterators that point
|
199
|
+
//! to the elements that are removed. The ordering of iterators may be changed
|
200
|
+
//! (that is, list<T>::iterator might have a different predecessor or successor
|
201
|
+
//! after a list operation than it did before), but the iterators themselves will
|
202
|
+
//! not be invalidated or made to point to different elements unless that invalidation
|
203
|
+
//! or mutation is explicit.
|
204
|
+
#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
|
205
|
+
template <class T, class Allocator = std::allocator<T> >
|
206
|
+
#else
|
207
|
+
template <class T, class Allocator>
|
208
|
+
#endif
|
209
|
+
class list
|
210
|
+
: protected container_detail::node_alloc_holder
|
211
|
+
<Allocator, typename container_detail::intrusive_list_type<Allocator>::type>
|
212
|
+
{
|
213
|
+
/// @cond
|
214
|
+
typedef typename
|
215
|
+
container_detail::intrusive_list_type<Allocator>::type Icont;
|
216
|
+
typedef container_detail::node_alloc_holder<Allocator, Icont> AllocHolder;
|
217
|
+
typedef typename AllocHolder::NodePtr NodePtr;
|
218
|
+
typedef typename AllocHolder::NodeAlloc NodeAlloc;
|
219
|
+
typedef typename AllocHolder::ValAlloc ValAlloc;
|
220
|
+
typedef typename AllocHolder::Node Node;
|
221
|
+
typedef container_detail::allocator_destroyer<NodeAlloc> Destroyer;
|
222
|
+
typedef typename AllocHolder::allocator_v1 allocator_v1;
|
223
|
+
typedef typename AllocHolder::allocator_v2 allocator_v2;
|
224
|
+
typedef typename AllocHolder::alloc_version alloc_version;
|
225
|
+
typedef boost::container::allocator_traits<Allocator> allocator_traits_type;
|
226
|
+
|
227
|
+
class equal_to_value
|
228
|
+
{
|
229
|
+
typedef typename AllocHolder::value_type value_type;
|
230
|
+
const value_type &t_;
|
231
|
+
|
232
|
+
public:
|
233
|
+
equal_to_value(const value_type &t)
|
234
|
+
: t_(t)
|
235
|
+
{}
|
236
|
+
|
237
|
+
bool operator()(const value_type &t)const
|
238
|
+
{ return t_ == t; }
|
239
|
+
};
|
240
|
+
|
241
|
+
template<class Pred>
|
242
|
+
struct ValueCompareToNodeCompare
|
243
|
+
: Pred
|
244
|
+
{
|
245
|
+
ValueCompareToNodeCompare(Pred pred)
|
246
|
+
: Pred(pred)
|
247
|
+
{}
|
248
|
+
|
249
|
+
bool operator()(const Node &a, const Node &b) const
|
250
|
+
{ return static_cast<const Pred&>(*this)(a.m_data, b.m_data); }
|
251
|
+
|
252
|
+
bool operator()(const Node &a) const
|
253
|
+
{ return static_cast<const Pred&>(*this)(a.m_data); }
|
254
|
+
};
|
255
|
+
|
256
|
+
BOOST_COPYABLE_AND_MOVABLE(list)
|
257
|
+
|
258
|
+
typedef container_detail::list_iterator<T, typename Icont::iterator> iterator_impl;
|
259
|
+
typedef container_detail::list_const_iterator<T, typename Icont::iterator>const_iterator_impl;
|
260
|
+
/// @endcond
|
261
|
+
|
262
|
+
public:
|
263
|
+
//////////////////////////////////////////////
|
264
|
+
//
|
265
|
+
// types
|
266
|
+
//
|
267
|
+
//////////////////////////////////////////////
|
268
|
+
|
269
|
+
typedef T value_type;
|
270
|
+
typedef typename ::boost::container::allocator_traits<Allocator>::pointer pointer;
|
271
|
+
typedef typename ::boost::container::allocator_traits<Allocator>::const_pointer const_pointer;
|
272
|
+
typedef typename ::boost::container::allocator_traits<Allocator>::reference reference;
|
273
|
+
typedef typename ::boost::container::allocator_traits<Allocator>::const_reference const_reference;
|
274
|
+
typedef typename ::boost::container::allocator_traits<Allocator>::size_type size_type;
|
275
|
+
typedef typename ::boost::container::allocator_traits<Allocator>::difference_type difference_type;
|
276
|
+
typedef Allocator allocator_type;
|
277
|
+
typedef BOOST_CONTAINER_IMPDEF(NodeAlloc) stored_allocator_type;
|
278
|
+
typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator;
|
279
|
+
typedef BOOST_CONTAINER_IMPDEF(const_iterator_impl) const_iterator;
|
280
|
+
typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator<iterator>) reverse_iterator;
|
281
|
+
typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator<const_iterator>) const_reverse_iterator;
|
282
|
+
|
283
|
+
//////////////////////////////////////////////
|
284
|
+
//
|
285
|
+
// construct/copy/destroy
|
286
|
+
//
|
287
|
+
//////////////////////////////////////////////
|
288
|
+
|
289
|
+
//! <b>Effects</b>: Default constructs a list.
|
290
|
+
//!
|
291
|
+
//! <b>Throws</b>: If allocator_type's default constructor throws.
|
292
|
+
//!
|
293
|
+
//! <b>Complexity</b>: Constant.
|
294
|
+
list()
|
295
|
+
: AllocHolder()
|
296
|
+
{}
|
297
|
+
|
298
|
+
//! <b>Effects</b>: Constructs a list taking the allocator as parameter.
|
299
|
+
//!
|
300
|
+
//! <b>Throws</b>: Nothing
|
301
|
+
//!
|
302
|
+
//! <b>Complexity</b>: Constant.
|
303
|
+
explicit list(const allocator_type &a) BOOST_CONTAINER_NOEXCEPT
|
304
|
+
: AllocHolder(a)
|
305
|
+
{}
|
306
|
+
|
307
|
+
//! <b>Effects</b>: Constructs a list that will use a copy of allocator a
|
308
|
+
//! and inserts n copies of value.
|
309
|
+
//!
|
310
|
+
//! <b>Throws</b>: If allocator_type's default constructor or copy constructor
|
311
|
+
//! throws or T's default or copy constructor throws.
|
312
|
+
//!
|
313
|
+
//! <b>Complexity</b>: Linear to n.
|
314
|
+
explicit list(size_type n)
|
315
|
+
: AllocHolder(Allocator())
|
316
|
+
{ this->resize(n); }
|
317
|
+
|
318
|
+
//! <b>Effects</b>: Constructs a list that will use a copy of allocator a
|
319
|
+
//! and inserts n copies of value.
|
320
|
+
//!
|
321
|
+
//! <b>Throws</b>: If allocator_type's default constructor or copy constructor
|
322
|
+
//! throws or T's default or copy constructor throws.
|
323
|
+
//!
|
324
|
+
//! <b>Complexity</b>: Linear to n.
|
325
|
+
list(size_type n, const T& value, const Allocator& a = Allocator())
|
326
|
+
: AllocHolder(a)
|
327
|
+
{ this->insert(this->cbegin(), n, value); }
|
328
|
+
|
329
|
+
//! <b>Effects</b>: Copy constructs a list.
|
330
|
+
//!
|
331
|
+
//! <b>Postcondition</b>: x == *this.
|
332
|
+
//!
|
333
|
+
//! <b>Throws</b>: If allocator_type's default constructor or copy constructor throws.
|
334
|
+
//!
|
335
|
+
//! <b>Complexity</b>: Linear to the elements x contains.
|
336
|
+
list(const list& x)
|
337
|
+
: AllocHolder(x)
|
338
|
+
{ this->insert(this->cbegin(), x.begin(), x.end()); }
|
339
|
+
|
340
|
+
//! <b>Effects</b>: Move constructor. Moves mx's resources to *this.
|
341
|
+
//!
|
342
|
+
//! <b>Throws</b>: If allocator_type's copy constructor throws.
|
343
|
+
//!
|
344
|
+
//! <b>Complexity</b>: Constant.
|
345
|
+
list(BOOST_RV_REF(list) x)
|
346
|
+
: AllocHolder(boost::move(static_cast<AllocHolder&>(x)))
|
347
|
+
{}
|
348
|
+
|
349
|
+
//! <b>Effects</b>: Copy constructs a list using the specified allocator.
|
350
|
+
//!
|
351
|
+
//! <b>Postcondition</b>: x == *this.
|
352
|
+
//!
|
353
|
+
//! <b>Throws</b>: If allocator_type's default constructor or copy constructor throws.
|
354
|
+
//!
|
355
|
+
//! <b>Complexity</b>: Linear to the elements x contains.
|
356
|
+
list(const list& x, const allocator_type &a)
|
357
|
+
: AllocHolder(a)
|
358
|
+
{ this->insert(this->cbegin(), x.begin(), x.end()); }
|
359
|
+
|
360
|
+
//! <b>Effects</b>: Move constructor sing the specified allocator.
|
361
|
+
//! Moves mx's resources to *this.
|
362
|
+
//!
|
363
|
+
//! <b>Throws</b>: If allocation or value_type's copy constructor throws.
|
364
|
+
//!
|
365
|
+
//! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
|
366
|
+
list(BOOST_RV_REF(list) x, const allocator_type &a)
|
367
|
+
: AllocHolder(a)
|
368
|
+
{
|
369
|
+
if(this->node_alloc() == x.node_alloc()){
|
370
|
+
this->icont().swap(x.icont());
|
371
|
+
}
|
372
|
+
else{
|
373
|
+
this->insert(this->cbegin(), x.begin(), x.end());
|
374
|
+
}
|
375
|
+
}
|
376
|
+
|
377
|
+
//! <b>Effects</b>: Constructs a list that will use a copy of allocator a
|
378
|
+
//! and inserts a copy of the range [first, last) in the list.
|
379
|
+
//!
|
380
|
+
//! <b>Throws</b>: If allocator_type's default constructor or copy constructor
|
381
|
+
//! throws or T's constructor taking an dereferenced InIt throws.
|
382
|
+
//!
|
383
|
+
//! <b>Complexity</b>: Linear to the range [first, last).
|
384
|
+
template <class InpIt>
|
385
|
+
list(InpIt first, InpIt last, const Allocator &a = Allocator())
|
386
|
+
: AllocHolder(a)
|
387
|
+
{ this->insert(this->cbegin(), first, last); }
|
388
|
+
|
389
|
+
//! <b>Effects</b>: Destroys the list. All stored values are destroyed
|
390
|
+
//! and used memory is deallocated.
|
391
|
+
//!
|
392
|
+
//! <b>Throws</b>: Nothing.
|
393
|
+
//!
|
394
|
+
//! <b>Complexity</b>: Linear to the number of elements.
|
395
|
+
~list() BOOST_CONTAINER_NOEXCEPT
|
396
|
+
{} //AllocHolder clears the list
|
397
|
+
|
398
|
+
//! <b>Effects</b>: Makes *this contain the same elements as x.
|
399
|
+
//!
|
400
|
+
//! <b>Postcondition</b>: this->size() == x.size(). *this contains a copy
|
401
|
+
//! of each of x's elements.
|
402
|
+
//!
|
403
|
+
//! <b>Throws</b>: If memory allocation throws or T's copy constructor throws.
|
404
|
+
//!
|
405
|
+
//! <b>Complexity</b>: Linear to the number of elements in x.
|
406
|
+
list& operator=(BOOST_COPY_ASSIGN_REF(list) x)
|
407
|
+
{
|
408
|
+
if (&x != this){
|
409
|
+
NodeAlloc &this_alloc = this->node_alloc();
|
410
|
+
const NodeAlloc &x_alloc = x.node_alloc();
|
411
|
+
container_detail::bool_<allocator_traits_type::
|
412
|
+
propagate_on_container_copy_assignment::value> flag;
|
413
|
+
if(flag && this_alloc != x_alloc){
|
414
|
+
this->clear();
|
415
|
+
}
|
416
|
+
this->AllocHolder::copy_assign_alloc(x);
|
417
|
+
this->assign(x.begin(), x.end());
|
418
|
+
}
|
419
|
+
return *this;
|
420
|
+
}
|
421
|
+
|
422
|
+
//! <b>Effects</b>: Move assignment. All mx's values are transferred to *this.
|
423
|
+
//!
|
424
|
+
//! <b>Postcondition</b>: x.empty(). *this contains a the elements x had
|
425
|
+
//! before the function.
|
426
|
+
//!
|
427
|
+
//! <b>Throws</b>: If allocator_type's copy constructor throws.
|
428
|
+
//!
|
429
|
+
//! <b>Complexity</b>: Constant.
|
430
|
+
list& operator=(BOOST_RV_REF(list) x)
|
431
|
+
{
|
432
|
+
if (&x != this){
|
433
|
+
NodeAlloc &this_alloc = this->node_alloc();
|
434
|
+
NodeAlloc &x_alloc = x.node_alloc();
|
435
|
+
//If allocators are equal we can just swap pointers
|
436
|
+
if(this_alloc == x_alloc){
|
437
|
+
//Destroy and swap pointers
|
438
|
+
this->clear();
|
439
|
+
this->icont() = boost::move(x.icont());
|
440
|
+
//Move allocator if needed
|
441
|
+
this->AllocHolder::move_assign_alloc(x);
|
442
|
+
}
|
443
|
+
//If unequal allocators, then do a one by one move
|
444
|
+
else{
|
445
|
+
typedef typename std::iterator_traits<iterator>::iterator_category ItCat;
|
446
|
+
this->assign( boost::make_move_iterator(x.begin())
|
447
|
+
, boost::make_move_iterator(x.end()));
|
448
|
+
}
|
449
|
+
}
|
450
|
+
return *this;
|
451
|
+
}
|
452
|
+
|
453
|
+
//! <b>Effects</b>: Assigns the n copies of val to *this.
|
454
|
+
//!
|
455
|
+
//! <b>Throws</b>: If memory allocation throws or T's copy constructor throws.
|
456
|
+
//!
|
457
|
+
//! <b>Complexity</b>: Linear to n.
|
458
|
+
void assign(size_type n, const T& val)
|
459
|
+
{
|
460
|
+
typedef constant_iterator<value_type, difference_type> cvalue_iterator;
|
461
|
+
return this->assign(cvalue_iterator(val, n), cvalue_iterator());
|
462
|
+
}
|
463
|
+
|
464
|
+
//! <b>Effects</b>: Assigns the the range [first, last) to *this.
|
465
|
+
//!
|
466
|
+
//! <b>Throws</b>: If memory allocation throws or
|
467
|
+
//! T's constructor from dereferencing InpIt throws.
|
468
|
+
//!
|
469
|
+
//! <b>Complexity</b>: Linear to n.
|
470
|
+
template <class InpIt>
|
471
|
+
void assign(InpIt first, InpIt last
|
472
|
+
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
473
|
+
, typename container_detail::enable_if_c
|
474
|
+
< !container_detail::is_convertible<InpIt, size_type>::value
|
475
|
+
>::type * = 0
|
476
|
+
#endif
|
477
|
+
)
|
478
|
+
{
|
479
|
+
iterator first1 = this->begin();
|
480
|
+
const iterator last1 = this->end();
|
481
|
+
for ( ; first1 != last1 && first != last; ++first1, ++first)
|
482
|
+
*first1 = *first;
|
483
|
+
if (first == last)
|
484
|
+
this->erase(first1, last1);
|
485
|
+
else{
|
486
|
+
this->insert(last1, first, last);
|
487
|
+
}
|
488
|
+
}
|
489
|
+
|
490
|
+
//! <b>Effects</b>: Returns a copy of the internal allocator.
|
491
|
+
//!
|
492
|
+
//! <b>Throws</b>: If allocator's copy constructor throws.
|
493
|
+
//!
|
494
|
+
//! <b>Complexity</b>: Constant.
|
495
|
+
allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT
|
496
|
+
{ return allocator_type(this->node_alloc()); }
|
497
|
+
|
498
|
+
//! <b>Effects</b>: Returns a reference to the internal allocator.
|
499
|
+
//!
|
500
|
+
//! <b>Throws</b>: Nothing
|
501
|
+
//!
|
502
|
+
//! <b>Complexity</b>: Constant.
|
503
|
+
//!
|
504
|
+
//! <b>Note</b>: Non-standard extension.
|
505
|
+
stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT
|
506
|
+
{ return this->node_alloc(); }
|
507
|
+
|
508
|
+
//! <b>Effects</b>: Returns a reference to the internal allocator.
|
509
|
+
//!
|
510
|
+
//! <b>Throws</b>: Nothing
|
511
|
+
//!
|
512
|
+
//! <b>Complexity</b>: Constant.
|
513
|
+
//!
|
514
|
+
//! <b>Note</b>: Non-standard extension.
|
515
|
+
const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT
|
516
|
+
{ return this->node_alloc(); }
|
517
|
+
|
518
|
+
//////////////////////////////////////////////
|
519
|
+
//
|
520
|
+
// iterators
|
521
|
+
//
|
522
|
+
//////////////////////////////////////////////
|
523
|
+
|
524
|
+
//! <b>Effects</b>: Returns an iterator to the first element contained in the list.
|
525
|
+
//!
|
526
|
+
//! <b>Throws</b>: Nothing.
|
527
|
+
//!
|
528
|
+
//! <b>Complexity</b>: Constant.
|
529
|
+
iterator begin() BOOST_CONTAINER_NOEXCEPT
|
530
|
+
{ return iterator(this->icont().begin()); }
|
531
|
+
|
532
|
+
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the list.
|
533
|
+
//!
|
534
|
+
//! <b>Throws</b>: Nothing.
|
535
|
+
//!
|
536
|
+
//! <b>Complexity</b>: Constant.
|
537
|
+
const_iterator begin() const BOOST_CONTAINER_NOEXCEPT
|
538
|
+
{ return this->cbegin(); }
|
539
|
+
|
540
|
+
//! <b>Effects</b>: Returns an iterator to the end of the list.
|
541
|
+
//!
|
542
|
+
//! <b>Throws</b>: Nothing.
|
543
|
+
//!
|
544
|
+
//! <b>Complexity</b>: Constant.
|
545
|
+
iterator end() BOOST_CONTAINER_NOEXCEPT
|
546
|
+
{ return iterator(this->icont().end()); }
|
547
|
+
|
548
|
+
//! <b>Effects</b>: Returns a const_iterator to the end of the list.
|
549
|
+
//!
|
550
|
+
//! <b>Throws</b>: Nothing.
|
551
|
+
//!
|
552
|
+
//! <b>Complexity</b>: Constant.
|
553
|
+
const_iterator end() const BOOST_CONTAINER_NOEXCEPT
|
554
|
+
{ return this->cend(); }
|
555
|
+
|
556
|
+
//! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
|
557
|
+
//! of the reversed list.
|
558
|
+
//!
|
559
|
+
//! <b>Throws</b>: Nothing.
|
560
|
+
//!
|
561
|
+
//! <b>Complexity</b>: Constant.
|
562
|
+
reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT
|
563
|
+
{ return reverse_iterator(end()); }
|
564
|
+
|
565
|
+
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
566
|
+
//! of the reversed list.
|
567
|
+
//!
|
568
|
+
//! <b>Throws</b>: Nothing.
|
569
|
+
//!
|
570
|
+
//! <b>Complexity</b>: Constant.
|
571
|
+
const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT
|
572
|
+
{ return this->crbegin(); }
|
573
|
+
|
574
|
+
//! <b>Effects</b>: Returns a reverse_iterator pointing to the end
|
575
|
+
//! of the reversed list.
|
576
|
+
//!
|
577
|
+
//! <b>Throws</b>: Nothing.
|
578
|
+
//!
|
579
|
+
//! <b>Complexity</b>: Constant.
|
580
|
+
reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT
|
581
|
+
{ return reverse_iterator(begin()); }
|
582
|
+
|
583
|
+
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
584
|
+
//! of the reversed list.
|
585
|
+
//!
|
586
|
+
//! <b>Throws</b>: Nothing.
|
587
|
+
//!
|
588
|
+
//! <b>Complexity</b>: Constant.
|
589
|
+
const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT
|
590
|
+
{ return this->crend(); }
|
591
|
+
|
592
|
+
//! <b>Effects</b>: Returns a const_iterator to the first element contained in the list.
|
593
|
+
//!
|
594
|
+
//! <b>Throws</b>: Nothing.
|
595
|
+
//!
|
596
|
+
//! <b>Complexity</b>: Constant.
|
597
|
+
const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT
|
598
|
+
{ return const_iterator(this->non_const_icont().begin()); }
|
599
|
+
|
600
|
+
//! <b>Effects</b>: Returns a const_iterator to the end of the list.
|
601
|
+
//!
|
602
|
+
//! <b>Throws</b>: Nothing.
|
603
|
+
//!
|
604
|
+
//! <b>Complexity</b>: Constant.
|
605
|
+
const_iterator cend() const BOOST_CONTAINER_NOEXCEPT
|
606
|
+
{ return const_iterator(this->non_const_icont().end()); }
|
607
|
+
|
608
|
+
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
|
609
|
+
//! of the reversed list.
|
610
|
+
//!
|
611
|
+
//! <b>Throws</b>: Nothing.
|
612
|
+
//!
|
613
|
+
//! <b>Complexity</b>: Constant.
|
614
|
+
const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT
|
615
|
+
{ return const_reverse_iterator(this->cend()); }
|
616
|
+
|
617
|
+
//! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
|
618
|
+
//! of the reversed list.
|
619
|
+
//!
|
620
|
+
//! <b>Throws</b>: Nothing.
|
621
|
+
//!
|
622
|
+
//! <b>Complexity</b>: Constant.
|
623
|
+
const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT
|
624
|
+
{ return const_reverse_iterator(this->cbegin()); }
|
625
|
+
|
626
|
+
//////////////////////////////////////////////
|
627
|
+
//
|
628
|
+
// capacity
|
629
|
+
//
|
630
|
+
//////////////////////////////////////////////
|
631
|
+
|
632
|
+
//! <b>Effects</b>: Returns true if the list contains no elements.
|
633
|
+
//!
|
634
|
+
//! <b>Throws</b>: Nothing.
|
635
|
+
//!
|
636
|
+
//! <b>Complexity</b>: Constant.
|
637
|
+
bool empty() const BOOST_CONTAINER_NOEXCEPT
|
638
|
+
{ return !this->size(); }
|
639
|
+
|
640
|
+
//! <b>Effects</b>: Returns the number of the elements contained in the list.
|
641
|
+
//!
|
642
|
+
//! <b>Throws</b>: Nothing.
|
643
|
+
//!
|
644
|
+
//! <b>Complexity</b>: Constant.
|
645
|
+
size_type size() const BOOST_CONTAINER_NOEXCEPT
|
646
|
+
{ return this->icont().size(); }
|
647
|
+
|
648
|
+
//! <b>Effects</b>: Returns the largest possible size of the list.
|
649
|
+
//!
|
650
|
+
//! <b>Throws</b>: Nothing.
|
651
|
+
//!
|
652
|
+
//! <b>Complexity</b>: Constant.
|
653
|
+
size_type max_size() const BOOST_CONTAINER_NOEXCEPT
|
654
|
+
{ return AllocHolder::max_size(); }
|
655
|
+
|
656
|
+
//! <b>Effects</b>: Inserts or erases elements at the end such that
|
657
|
+
//! the size becomes n. New elements are default constructed.
|
658
|
+
//!
|
659
|
+
//! <b>Throws</b>: If memory allocation throws, or T's copy constructor throws.
|
660
|
+
//!
|
661
|
+
//! <b>Complexity</b>: Linear to the difference between size() and new_size.
|
662
|
+
void resize(size_type new_size)
|
663
|
+
{
|
664
|
+
if(!priv_try_shrink(new_size)){
|
665
|
+
typedef default_construct_iterator<value_type, difference_type> default_iterator;
|
666
|
+
this->insert(this->cend(), default_iterator(new_size - this->size()), default_iterator());
|
667
|
+
}
|
668
|
+
}
|
669
|
+
|
670
|
+
//! <b>Effects</b>: Inserts or erases elements at the end such that
|
671
|
+
//! the size becomes n. New elements are copy constructed from x.
|
672
|
+
//!
|
673
|
+
//! <b>Throws</b>: If memory allocation throws, or T's copy constructor throws.
|
674
|
+
//!
|
675
|
+
//! <b>Complexity</b>: Linear to the difference between size() and new_size.
|
676
|
+
void resize(size_type new_size, const T& x)
|
677
|
+
{
|
678
|
+
if(!priv_try_shrink(new_size)){
|
679
|
+
this->insert(this->cend(), new_size - this->size(), x);
|
680
|
+
}
|
681
|
+
}
|
682
|
+
|
683
|
+
//////////////////////////////////////////////
|
684
|
+
//
|
685
|
+
// element access
|
686
|
+
//
|
687
|
+
//////////////////////////////////////////////
|
688
|
+
|
689
|
+
//! <b>Requires</b>: !empty()
|
690
|
+
//!
|
691
|
+
//! <b>Effects</b>: Returns a reference to the first element
|
692
|
+
//! from the beginning of the container.
|
693
|
+
//!
|
694
|
+
//! <b>Throws</b>: Nothing.
|
695
|
+
//!
|
696
|
+
//! <b>Complexity</b>: Constant.
|
697
|
+
reference front() BOOST_CONTAINER_NOEXCEPT
|
698
|
+
{ return *this->begin(); }
|
699
|
+
|
700
|
+
//! <b>Requires</b>: !empty()
|
701
|
+
//!
|
702
|
+
//! <b>Effects</b>: Returns a const reference to the first element
|
703
|
+
//! from the beginning of the container.
|
704
|
+
//!
|
705
|
+
//! <b>Throws</b>: Nothing.
|
706
|
+
//!
|
707
|
+
//! <b>Complexity</b>: Constant.
|
708
|
+
const_reference front() const BOOST_CONTAINER_NOEXCEPT
|
709
|
+
{ return *this->begin(); }
|
710
|
+
|
711
|
+
//! <b>Requires</b>: !empty()
|
712
|
+
//!
|
713
|
+
//! <b>Effects</b>: Returns a reference to the first element
|
714
|
+
//! from the beginning of the container.
|
715
|
+
//!
|
716
|
+
//! <b>Throws</b>: Nothing.
|
717
|
+
//!
|
718
|
+
//! <b>Complexity</b>: Constant.
|
719
|
+
reference back() BOOST_CONTAINER_NOEXCEPT
|
720
|
+
{ return *(--this->end()); }
|
721
|
+
|
722
|
+
//! <b>Requires</b>: !empty()
|
723
|
+
//!
|
724
|
+
//! <b>Effects</b>: Returns a const reference to the first element
|
725
|
+
//! from the beginning of the container.
|
726
|
+
//!
|
727
|
+
//! <b>Throws</b>: Nothing.
|
728
|
+
//!
|
729
|
+
//! <b>Complexity</b>: Constant.
|
730
|
+
const_reference back() const BOOST_CONTAINER_NOEXCEPT
|
731
|
+
{ return *(--this->end()); }
|
732
|
+
|
733
|
+
//////////////////////////////////////////////
|
734
|
+
//
|
735
|
+
// modifiers
|
736
|
+
//
|
737
|
+
//////////////////////////////////////////////
|
738
|
+
|
739
|
+
#if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
740
|
+
|
741
|
+
//! <b>Effects</b>: Inserts an object of type T constructed with
|
742
|
+
//! std::forward<Args>(args)... in the end of the list.
|
743
|
+
//!
|
744
|
+
//! <b>Throws</b>: If memory allocation throws or
|
745
|
+
//! T's in-place constructor throws.
|
746
|
+
//!
|
747
|
+
//! <b>Complexity</b>: Constant
|
748
|
+
template <class... Args>
|
749
|
+
void emplace_back(Args&&... args)
|
750
|
+
{ this->emplace(this->cend(), boost::forward<Args>(args)...); }
|
751
|
+
|
752
|
+
//! <b>Effects</b>: Inserts an object of type T constructed with
|
753
|
+
//! std::forward<Args>(args)... in the beginning of the list.
|
754
|
+
//!
|
755
|
+
//! <b>Throws</b>: If memory allocation throws or
|
756
|
+
//! T's in-place constructor throws.
|
757
|
+
//!
|
758
|
+
//! <b>Complexity</b>: Constant
|
759
|
+
template <class... Args>
|
760
|
+
void emplace_front(Args&&... args)
|
761
|
+
{ this->emplace(this->cbegin(), boost::forward<Args>(args)...); }
|
762
|
+
|
763
|
+
//! <b>Effects</b>: Inserts an object of type T constructed with
|
764
|
+
//! std::forward<Args>(args)... before p.
|
765
|
+
//!
|
766
|
+
//! <b>Throws</b>: If memory allocation throws or
|
767
|
+
//! T's in-place constructor throws.
|
768
|
+
//!
|
769
|
+
//! <b>Complexity</b>: Constant
|
770
|
+
template <class... Args>
|
771
|
+
iterator emplace(const_iterator p, Args&&... args)
|
772
|
+
{
|
773
|
+
NodePtr pnode(AllocHolder::create_node(boost::forward<Args>(args)...));
|
774
|
+
return iterator(this->icont().insert(p.get(), *pnode));
|
775
|
+
}
|
776
|
+
|
777
|
+
#else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING
|
778
|
+
|
779
|
+
#define BOOST_PP_LOCAL_MACRO(n) \
|
780
|
+
BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \
|
781
|
+
void emplace_back(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \
|
782
|
+
{ \
|
783
|
+
this->emplace(this->cend() \
|
784
|
+
BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \
|
785
|
+
} \
|
786
|
+
\
|
787
|
+
BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \
|
788
|
+
void emplace_front(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \
|
789
|
+
{ \
|
790
|
+
this->emplace(this->cbegin() \
|
791
|
+
BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \
|
792
|
+
} \
|
793
|
+
\
|
794
|
+
BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \
|
795
|
+
iterator emplace(const_iterator p \
|
796
|
+
BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \
|
797
|
+
{ \
|
798
|
+
NodePtr pnode (AllocHolder::create_node \
|
799
|
+
(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \
|
800
|
+
return iterator(this->icont().insert(p.get(), *pnode)); \
|
801
|
+
} \
|
802
|
+
//!
|
803
|
+
#define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS)
|
804
|
+
#include BOOST_PP_LOCAL_ITERATE()
|
805
|
+
|
806
|
+
#endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING
|
807
|
+
|
808
|
+
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
809
|
+
//! <b>Effects</b>: Inserts a copy of x at the beginning of the list.
|
810
|
+
//!
|
811
|
+
//! <b>Throws</b>: If memory allocation throws or
|
812
|
+
//! T's copy constructor throws.
|
813
|
+
//!
|
814
|
+
//! <b>Complexity</b>: Amortized constant time.
|
815
|
+
void push_front(const T &x);
|
816
|
+
|
817
|
+
//! <b>Effects</b>: Constructs a new element in the beginning of the list
|
818
|
+
//! and moves the resources of mx to this new element.
|
819
|
+
//!
|
820
|
+
//! <b>Throws</b>: If memory allocation throws.
|
821
|
+
//!
|
822
|
+
//! <b>Complexity</b>: Amortized constant time.
|
823
|
+
void push_front(T &&x);
|
824
|
+
#else
|
825
|
+
BOOST_MOVE_CONVERSION_AWARE_CATCH(push_front, T, void, priv_push_front)
|
826
|
+
#endif
|
827
|
+
|
828
|
+
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
829
|
+
//! <b>Effects</b>: Inserts a copy of x at the end of the list.
|
830
|
+
//!
|
831
|
+
//! <b>Throws</b>: If memory allocation throws or
|
832
|
+
//! T's copy constructor throws.
|
833
|
+
//!
|
834
|
+
//! <b>Complexity</b>: Amortized constant time.
|
835
|
+
void push_back(const T &x);
|
836
|
+
|
837
|
+
//! <b>Effects</b>: Constructs a new element in the end of the list
|
838
|
+
//! and moves the resources of mx to this new element.
|
839
|
+
//!
|
840
|
+
//! <b>Throws</b>: If memory allocation throws.
|
841
|
+
//!
|
842
|
+
//! <b>Complexity</b>: Amortized constant time.
|
843
|
+
void push_back(T &&x);
|
844
|
+
#else
|
845
|
+
BOOST_MOVE_CONVERSION_AWARE_CATCH(push_back, T, void, priv_push_back)
|
846
|
+
#endif
|
847
|
+
|
848
|
+
#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
849
|
+
//! <b>Requires</b>: position must be a valid iterator of *this.
|
850
|
+
//!
|
851
|
+
//! <b>Effects</b>: Insert a copy of x before position.
|
852
|
+
//!
|
853
|
+
//! <b>Returns</b>: an iterator to the inserted element.
|
854
|
+
//!
|
855
|
+
//! <b>Throws</b>: If memory allocation throws or x's copy constructor throws.
|
856
|
+
//!
|
857
|
+
//! <b>Complexity</b>: Amortized constant time.
|
858
|
+
iterator insert(const_iterator position, const T &x);
|
859
|
+
|
860
|
+
//! <b>Requires</b>: position must be a valid iterator of *this.
|
861
|
+
//!
|
862
|
+
//! <b>Effects</b>: Insert a new element before position with mx's resources.
|
863
|
+
//!
|
864
|
+
//! <b>Returns</b>: an iterator to the inserted element.
|
865
|
+
//!
|
866
|
+
//! <b>Throws</b>: If memory allocation throws.
|
867
|
+
//!
|
868
|
+
//! <b>Complexity</b>: Amortized constant time.
|
869
|
+
iterator insert(const_iterator position, T &&x);
|
870
|
+
#else
|
871
|
+
BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator)
|
872
|
+
#endif
|
873
|
+
|
874
|
+
//! <b>Requires</b>: p must be a valid iterator of *this.
|
875
|
+
//!
|
876
|
+
//! <b>Effects</b>: Inserts n copies of x before p.
|
877
|
+
//!
|
878
|
+
//! <b>Returns</b>: an iterator to the first inserted element or p if n is 0.
|
879
|
+
//!
|
880
|
+
//! <b>Throws</b>: If memory allocation throws or T's copy constructor throws.
|
881
|
+
//!
|
882
|
+
//! <b>Complexity</b>: Linear to n.
|
883
|
+
iterator insert(const_iterator p, size_type n, const T& x)
|
884
|
+
{
|
885
|
+
typedef constant_iterator<value_type, difference_type> cvalue_iterator;
|
886
|
+
return this->insert(p, cvalue_iterator(x, n), cvalue_iterator());
|
887
|
+
}
|
888
|
+
|
889
|
+
//! <b>Requires</b>: p must be a valid iterator of *this.
|
890
|
+
//!
|
891
|
+
//! <b>Effects</b>: Insert a copy of the [first, last) range before p.
|
892
|
+
//!
|
893
|
+
//! <b>Returns</b>: an iterator to the first inserted element or p if first == last.
|
894
|
+
//!
|
895
|
+
//! <b>Throws</b>: If memory allocation throws, T's constructor from a
|
896
|
+
//! dereferenced InpIt throws.
|
897
|
+
//!
|
898
|
+
//! <b>Complexity</b>: Linear to std::distance [first, last).
|
899
|
+
template <class InpIt>
|
900
|
+
iterator insert(const_iterator p, InpIt first, InpIt last
|
901
|
+
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
902
|
+
, typename container_detail::enable_if_c
|
903
|
+
< !container_detail::is_convertible<InpIt, size_type>::value
|
904
|
+
&& (container_detail::is_input_iterator<InpIt>::value
|
905
|
+
|| container_detail::is_same<alloc_version, allocator_v1>::value
|
906
|
+
)
|
907
|
+
>::type * = 0
|
908
|
+
#endif
|
909
|
+
)
|
910
|
+
{
|
911
|
+
const typename Icont::iterator ipos(p.get());
|
912
|
+
iterator ret_it(ipos);
|
913
|
+
if(first != last){
|
914
|
+
ret_it = iterator(this->icont().insert(ipos, *this->create_node_from_it(first)));
|
915
|
+
++first;
|
916
|
+
}
|
917
|
+
for (; first != last; ++first){
|
918
|
+
this->icont().insert(ipos, *this->create_node_from_it(first));
|
919
|
+
}
|
920
|
+
return ret_it;
|
921
|
+
}
|
922
|
+
|
923
|
+
#if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
|
924
|
+
template <class FwdIt>
|
925
|
+
iterator insert(const_iterator p, FwdIt first, FwdIt last
|
926
|
+
, typename container_detail::enable_if_c
|
927
|
+
< !container_detail::is_convertible<FwdIt, size_type>::value
|
928
|
+
&& !(container_detail::is_input_iterator<FwdIt>::value
|
929
|
+
|| container_detail::is_same<alloc_version, allocator_v1>::value
|
930
|
+
)
|
931
|
+
>::type * = 0
|
932
|
+
)
|
933
|
+
{
|
934
|
+
//Optimized allocation and construction
|
935
|
+
insertion_functor func(this->icont(), p.get());
|
936
|
+
iterator before_p(p.get());
|
937
|
+
--before_p;
|
938
|
+
this->allocate_many_and_construct(first, std::distance(first, last), func);
|
939
|
+
return ++before_p;
|
940
|
+
}
|
941
|
+
#endif
|
942
|
+
|
943
|
+
//! <b>Effects</b>: Removes the first element from the list.
|
944
|
+
//!
|
945
|
+
//! <b>Throws</b>: Nothing.
|
946
|
+
//!
|
947
|
+
//! <b>Complexity</b>: Amortized constant time.
|
948
|
+
void pop_front() BOOST_CONTAINER_NOEXCEPT
|
949
|
+
{ this->erase(this->cbegin()); }
|
950
|
+
|
951
|
+
//! <b>Effects</b>: Removes the last element from the list.
|
952
|
+
//!
|
953
|
+
//! <b>Throws</b>: Nothing.
|
954
|
+
//!
|
955
|
+
//! <b>Complexity</b>: Amortized constant time.
|
956
|
+
void pop_back() BOOST_CONTAINER_NOEXCEPT
|
957
|
+
{ const_iterator tmp = this->cend(); this->erase(--tmp); }
|
958
|
+
|
959
|
+
//! <b>Requires</b>: p must be a valid iterator of *this.
|
960
|
+
//!
|
961
|
+
//! <b>Effects</b>: Erases the element at p p.
|
962
|
+
//!
|
963
|
+
//! <b>Throws</b>: Nothing.
|
964
|
+
//!
|
965
|
+
//! <b>Complexity</b>: Amortized constant time.
|
966
|
+
iterator erase(const_iterator p) BOOST_CONTAINER_NOEXCEPT
|
967
|
+
{ return iterator(this->icont().erase_and_dispose(p.get(), Destroyer(this->node_alloc()))); }
|
968
|
+
|
969
|
+
//! <b>Requires</b>: first and last must be valid iterator to elements in *this.
|
970
|
+
//!
|
971
|
+
//! <b>Effects</b>: Erases the elements pointed by [first, last).
|
972
|
+
//!
|
973
|
+
//! <b>Throws</b>: Nothing.
|
974
|
+
//!
|
975
|
+
//! <b>Complexity</b>: Linear to the distance between first and last.
|
976
|
+
iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT
|
977
|
+
{ return iterator(AllocHolder::erase_range(first.get(), last.get(), alloc_version())); }
|
978
|
+
|
979
|
+
//! <b>Effects</b>: Swaps the contents of *this and x.
|
980
|
+
//!
|
981
|
+
//! <b>Throws</b>: Nothing.
|
982
|
+
//!
|
983
|
+
//! <b>Complexity</b>: Constant.
|
984
|
+
void swap(list& x)
|
985
|
+
{ AllocHolder::swap(x); }
|
986
|
+
|
987
|
+
//! <b>Effects</b>: Erases all the elements of the list.
|
988
|
+
//!
|
989
|
+
//! <b>Throws</b>: Nothing.
|
990
|
+
//!
|
991
|
+
//! <b>Complexity</b>: Linear to the number of elements in the list.
|
992
|
+
void clear() BOOST_CONTAINER_NOEXCEPT
|
993
|
+
{ AllocHolder::clear(alloc_version()); }
|
994
|
+
|
995
|
+
//////////////////////////////////////////////
|
996
|
+
//
|
997
|
+
// slist operations
|
998
|
+
//
|
999
|
+
//////////////////////////////////////////////
|
1000
|
+
|
1001
|
+
//! <b>Requires</b>: p must point to an element contained
|
1002
|
+
//! by the list. x != *this. this' allocator and x's allocator shall compare equal
|
1003
|
+
//!
|
1004
|
+
//! <b>Effects</b>: Transfers all the elements of list x to this list, before the
|
1005
|
+
//! the element pointed by p. No destructors or copy constructors are called.
|
1006
|
+
//!
|
1007
|
+
//! <b>Throws</b>: Nothing
|
1008
|
+
//!
|
1009
|
+
//! <b>Complexity</b>: Constant.
|
1010
|
+
//!
|
1011
|
+
//! <b>Note</b>: Iterators of values obtained from list x now point to elements of
|
1012
|
+
//! this list. Iterators of this list and all the references are not invalidated.
|
1013
|
+
void splice(const_iterator p, list& x) BOOST_CONTAINER_NOEXCEPT
|
1014
|
+
{
|
1015
|
+
BOOST_ASSERT(this != &x);
|
1016
|
+
BOOST_ASSERT(this->node_alloc() == x.node_alloc());
|
1017
|
+
this->icont().splice(p.get(), x.icont());
|
1018
|
+
}
|
1019
|
+
|
1020
|
+
//! <b>Requires</b>: p must point to an element contained
|
1021
|
+
//! by the list. x != *this. this' allocator and x's allocator shall compare equal
|
1022
|
+
//!
|
1023
|
+
//! <b>Effects</b>: Transfers all the elements of list x to this list, before the
|
1024
|
+
//! the element pointed by p. No destructors or copy constructors are called.
|
1025
|
+
//!
|
1026
|
+
//! <b>Throws</b>: Nothing
|
1027
|
+
//!
|
1028
|
+
//! <b>Complexity</b>: Constant.
|
1029
|
+
//!
|
1030
|
+
//! <b>Note</b>: Iterators of values obtained from list x now point to elements of
|
1031
|
+
//! this list. Iterators of this list and all the references are not invalidated.
|
1032
|
+
void splice(const_iterator p, BOOST_RV_REF(list) x) BOOST_CONTAINER_NOEXCEPT
|
1033
|
+
{ this->splice(p, static_cast<list&>(x)); }
|
1034
|
+
|
1035
|
+
//! <b>Requires</b>: p must point to an element contained
|
1036
|
+
//! by this list. i must point to an element contained in list x.
|
1037
|
+
//! this' allocator and x's allocator shall compare equal
|
1038
|
+
//!
|
1039
|
+
//! <b>Effects</b>: Transfers the value pointed by i, from list x to this list,
|
1040
|
+
//! before the the element pointed by p. No destructors or copy constructors are called.
|
1041
|
+
//! If p == i or p == ++i, this function is a null operation.
|
1042
|
+
//!
|
1043
|
+
//! <b>Throws</b>: Nothing
|
1044
|
+
//!
|
1045
|
+
//! <b>Complexity</b>: Constant.
|
1046
|
+
//!
|
1047
|
+
//! <b>Note</b>: Iterators of values obtained from list x now point to elements of this
|
1048
|
+
//! list. Iterators of this list and all the references are not invalidated.
|
1049
|
+
void splice(const_iterator p, list &x, const_iterator i) BOOST_CONTAINER_NOEXCEPT
|
1050
|
+
{
|
1051
|
+
//BOOST_ASSERT(this != &x);
|
1052
|
+
BOOST_ASSERT(this->node_alloc() == x.node_alloc());
|
1053
|
+
this->icont().splice(p.get(), x.icont(), i.get());
|
1054
|
+
}
|
1055
|
+
|
1056
|
+
//! <b>Requires</b>: p must point to an element contained
|
1057
|
+
//! by this list. i must point to an element contained in list x.
|
1058
|
+
//! this' allocator and x's allocator shall compare equal.
|
1059
|
+
//!
|
1060
|
+
//! <b>Effects</b>: Transfers the value pointed by i, from list x to this list,
|
1061
|
+
//! before the the element pointed by p. No destructors or copy constructors are called.
|
1062
|
+
//! If p == i or p == ++i, this function is a null operation.
|
1063
|
+
//!
|
1064
|
+
//! <b>Throws</b>: Nothing
|
1065
|
+
//!
|
1066
|
+
//! <b>Complexity</b>: Constant.
|
1067
|
+
//!
|
1068
|
+
//! <b>Note</b>: Iterators of values obtained from list x now point to elements of this
|
1069
|
+
//! list. Iterators of this list and all the references are not invalidated.
|
1070
|
+
void splice(const_iterator p, BOOST_RV_REF(list) x, const_iterator i) BOOST_CONTAINER_NOEXCEPT
|
1071
|
+
{ this->splice(p, static_cast<list&>(x), i); }
|
1072
|
+
|
1073
|
+
//! <b>Requires</b>: p must point to an element contained
|
1074
|
+
//! by this list. first and last must point to elements contained in list x.
|
1075
|
+
//! this' allocator and x's allocator shall compare equal
|
1076
|
+
//!
|
1077
|
+
//! <b>Effects</b>: Transfers the range pointed by first and last from list x to this list,
|
1078
|
+
//! before the the element pointed by p. No destructors or copy constructors are called.
|
1079
|
+
//!
|
1080
|
+
//! <b>Throws</b>: Nothing
|
1081
|
+
//!
|
1082
|
+
//! <b>Complexity</b>: Linear to the number of elements transferred.
|
1083
|
+
//!
|
1084
|
+
//! <b>Note</b>: Iterators of values obtained from list x now point to elements of this
|
1085
|
+
//! list. Iterators of this list and all the references are not invalidated.
|
1086
|
+
void splice(const_iterator p, list &x, const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT
|
1087
|
+
{
|
1088
|
+
BOOST_ASSERT(this->node_alloc() == x.node_alloc());
|
1089
|
+
this->icont().splice(p.get(), x.icont(), first.get(), last.get());
|
1090
|
+
}
|
1091
|
+
|
1092
|
+
//! <b>Requires</b>: p must point to an element contained
|
1093
|
+
//! by this list. first and last must point to elements contained in list x.
|
1094
|
+
//! this' allocator and x's allocator shall compare equal.
|
1095
|
+
//!
|
1096
|
+
//! <b>Effects</b>: Transfers the range pointed by first and last from list x to this list,
|
1097
|
+
//! before the the element pointed by p. No destructors or copy constructors are called.
|
1098
|
+
//!
|
1099
|
+
//! <b>Throws</b>: Nothing
|
1100
|
+
//!
|
1101
|
+
//! <b>Complexity</b>: Linear to the number of elements transferred.
|
1102
|
+
//!
|
1103
|
+
//! <b>Note</b>: Iterators of values obtained from list x now point to elements of this
|
1104
|
+
//! list. Iterators of this list and all the references are not invalidated.
|
1105
|
+
void splice(const_iterator p, BOOST_RV_REF(list) x, const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT
|
1106
|
+
{ this->splice(p, static_cast<list&>(x), first, last); }
|
1107
|
+
|
1108
|
+
//! <b>Requires</b>: p must point to an element contained
|
1109
|
+
//! by this list. first and last must point to elements contained in list x.
|
1110
|
+
//! n == std::distance(first, last). this' allocator and x's allocator shall compare equal
|
1111
|
+
//!
|
1112
|
+
//! <b>Effects</b>: Transfers the range pointed by first and last from list x to this list,
|
1113
|
+
//! before the the element pointed by p. No destructors or copy constructors are called.
|
1114
|
+
//!
|
1115
|
+
//! <b>Throws</b>: Nothing
|
1116
|
+
//!
|
1117
|
+
//! <b>Complexity</b>: Constant.
|
1118
|
+
//!
|
1119
|
+
//! <b>Note</b>: Iterators of values obtained from list x now point to elements of this
|
1120
|
+
//! list. Iterators of this list and all the references are not invalidated.
|
1121
|
+
//!
|
1122
|
+
//! <b>Note</b>: Non-standard extension
|
1123
|
+
void splice(const_iterator p, list &x, const_iterator first, const_iterator last, size_type n) BOOST_CONTAINER_NOEXCEPT
|
1124
|
+
{
|
1125
|
+
BOOST_ASSERT(this->node_alloc() == x.node_alloc());
|
1126
|
+
this->icont().splice(p.get(), x.icont(), first.get(), last.get(), n);
|
1127
|
+
}
|
1128
|
+
|
1129
|
+
//! <b>Requires</b>: p must point to an element contained
|
1130
|
+
//! by this list. first and last must point to elements contained in list x.
|
1131
|
+
//! n == std::distance(first, last). this' allocator and x's allocator shall compare equal
|
1132
|
+
//!
|
1133
|
+
//! <b>Effects</b>: Transfers the range pointed by first and last from list x to this list,
|
1134
|
+
//! before the the element pointed by p. No destructors or copy constructors are called.
|
1135
|
+
//!
|
1136
|
+
//! <b>Throws</b>: Nothing
|
1137
|
+
//!
|
1138
|
+
//! <b>Complexity</b>: Constant.
|
1139
|
+
//!
|
1140
|
+
//! <b>Note</b>: Iterators of values obtained from list x now point to elements of this
|
1141
|
+
//! list. Iterators of this list and all the references are not invalidated.
|
1142
|
+
//!
|
1143
|
+
//! <b>Note</b>: Non-standard extension
|
1144
|
+
void splice(const_iterator p, BOOST_RV_REF(list) x, const_iterator first, const_iterator last, size_type n) BOOST_CONTAINER_NOEXCEPT
|
1145
|
+
{ this->splice(p, static_cast<list&>(x), first, last, n); }
|
1146
|
+
|
1147
|
+
//! <b>Effects</b>: Removes all the elements that compare equal to value.
|
1148
|
+
//!
|
1149
|
+
//! <b>Throws</b>: If comparison throws.
|
1150
|
+
//!
|
1151
|
+
//! <b>Complexity</b>: Linear time. It performs exactly size() comparisons for equality.
|
1152
|
+
//!
|
1153
|
+
//! <b>Note</b>: The relative order of elements that are not removed is unchanged,
|
1154
|
+
//! and iterators to elements that are not removed remain valid.
|
1155
|
+
void remove(const T& value)
|
1156
|
+
{ this->remove_if(equal_to_value(value)); }
|
1157
|
+
|
1158
|
+
//! <b>Effects</b>: Removes all the elements for which a specified
|
1159
|
+
//! predicate is satisfied.
|
1160
|
+
//!
|
1161
|
+
//! <b>Throws</b>: If pred throws.
|
1162
|
+
//!
|
1163
|
+
//! <b>Complexity</b>: Linear time. It performs exactly size() calls to the predicate.
|
1164
|
+
//!
|
1165
|
+
//! <b>Note</b>: The relative order of elements that are not removed is unchanged,
|
1166
|
+
//! and iterators to elements that are not removed remain valid.
|
1167
|
+
template <class Pred>
|
1168
|
+
void remove_if(Pred pred)
|
1169
|
+
{
|
1170
|
+
typedef ValueCompareToNodeCompare<Pred> Predicate;
|
1171
|
+
this->icont().remove_and_dispose_if(Predicate(pred), Destroyer(this->node_alloc()));
|
1172
|
+
}
|
1173
|
+
|
1174
|
+
//! <b>Effects</b>: Removes adjacent duplicate elements or adjacent
|
1175
|
+
//! elements that are equal from the list.
|
1176
|
+
//!
|
1177
|
+
//! <b>Throws</b>: If comparison throws.
|
1178
|
+
//!
|
1179
|
+
//! <b>Complexity</b>: Linear time (size()-1 comparisons equality comparisons).
|
1180
|
+
//!
|
1181
|
+
//! <b>Note</b>: The relative order of elements that are not removed is unchanged,
|
1182
|
+
//! and iterators to elements that are not removed remain valid.
|
1183
|
+
void unique()
|
1184
|
+
{ this->unique(value_equal()); }
|
1185
|
+
|
1186
|
+
//! <b>Effects</b>: Removes adjacent duplicate elements or adjacent
|
1187
|
+
//! elements that satisfy some binary predicate from the list.
|
1188
|
+
//!
|
1189
|
+
//! <b>Throws</b>: If pred throws.
|
1190
|
+
//!
|
1191
|
+
//! <b>Complexity</b>: Linear time (size()-1 comparisons calls to pred()).
|
1192
|
+
//!
|
1193
|
+
//! <b>Note</b>: The relative order of elements that are not removed is unchanged,
|
1194
|
+
//! and iterators to elements that are not removed remain valid.
|
1195
|
+
template <class BinaryPredicate>
|
1196
|
+
void unique(BinaryPredicate binary_pred)
|
1197
|
+
{
|
1198
|
+
typedef ValueCompareToNodeCompare<BinaryPredicate> Predicate;
|
1199
|
+
this->icont().unique_and_dispose(Predicate(binary_pred), Destroyer(this->node_alloc()));
|
1200
|
+
}
|
1201
|
+
|
1202
|
+
//! <b>Requires</b>: The lists x and *this must be distinct.
|
1203
|
+
//!
|
1204
|
+
//! <b>Effects</b>: This function removes all of x's elements and inserts them
|
1205
|
+
//! in order into *this according to std::less<value_type>. The merge is stable;
|
1206
|
+
//! that is, if an element from *this is equivalent to one from x, then the element
|
1207
|
+
//! from *this will precede the one from x.
|
1208
|
+
//!
|
1209
|
+
//! <b>Throws</b>: If comparison throws.
|
1210
|
+
//!
|
1211
|
+
//! <b>Complexity</b>: This function is linear time: it performs at most
|
1212
|
+
//! size() + x.size() - 1 comparisons.
|
1213
|
+
void merge(list &x)
|
1214
|
+
{ this->merge(x, value_less()); }
|
1215
|
+
|
1216
|
+
//! <b>Requires</b>: The lists x and *this must be distinct.
|
1217
|
+
//!
|
1218
|
+
//! <b>Effects</b>: This function removes all of x's elements and inserts them
|
1219
|
+
//! in order into *this according to std::less<value_type>. The merge is stable;
|
1220
|
+
//! that is, if an element from *this is equivalent to one from x, then the element
|
1221
|
+
//! from *this will precede the one from x.
|
1222
|
+
//!
|
1223
|
+
//! <b>Throws</b>: If comparison throws.
|
1224
|
+
//!
|
1225
|
+
//! <b>Complexity</b>: This function is linear time: it performs at most
|
1226
|
+
//! size() + x.size() - 1 comparisons.
|
1227
|
+
void merge(BOOST_RV_REF(list) x)
|
1228
|
+
{ this->merge(static_cast<list&>(x)); }
|
1229
|
+
|
1230
|
+
//! <b>Requires</b>: p must be a comparison function that induces a strict weak
|
1231
|
+
//! ordering and both *this and x must be sorted according to that ordering
|
1232
|
+
//! The lists x and *this must be distinct.
|
1233
|
+
//!
|
1234
|
+
//! <b>Effects</b>: This function removes all of x's elements and inserts them
|
1235
|
+
//! in order into *this. The merge is stable; that is, if an element from *this is
|
1236
|
+
//! equivalent to one from x, then the element from *this will precede the one from x.
|
1237
|
+
//!
|
1238
|
+
//! <b>Throws</b>: If comp throws.
|
1239
|
+
//!
|
1240
|
+
//! <b>Complexity</b>: This function is linear time: it performs at most
|
1241
|
+
//! size() + x.size() - 1 comparisons.
|
1242
|
+
//!
|
1243
|
+
//! <b>Note</b>: Iterators and references to *this are not invalidated.
|
1244
|
+
template <class StrictWeakOrdering>
|
1245
|
+
void merge(list &x, const StrictWeakOrdering &comp)
|
1246
|
+
{
|
1247
|
+
BOOST_ASSERT(this->node_alloc() == x.node_alloc());
|
1248
|
+
this->icont().merge(x.icont(),
|
1249
|
+
ValueCompareToNodeCompare<StrictWeakOrdering>(comp));
|
1250
|
+
}
|
1251
|
+
|
1252
|
+
//! <b>Requires</b>: p must be a comparison function that induces a strict weak
|
1253
|
+
//! ordering and both *this and x must be sorted according to that ordering
|
1254
|
+
//! The lists x and *this must be distinct.
|
1255
|
+
//!
|
1256
|
+
//! <b>Effects</b>: This function removes all of x's elements and inserts them
|
1257
|
+
//! in order into *this. The merge is stable; that is, if an element from *this is
|
1258
|
+
//! equivalent to one from x, then the element from *this will precede the one from x.
|
1259
|
+
//!
|
1260
|
+
//! <b>Throws</b>: If comp throws.
|
1261
|
+
//!
|
1262
|
+
//! <b>Complexity</b>: This function is linear time: it performs at most
|
1263
|
+
//! size() + x.size() - 1 comparisons.
|
1264
|
+
//!
|
1265
|
+
//! <b>Note</b>: Iterators and references to *this are not invalidated.
|
1266
|
+
template <class StrictWeakOrdering>
|
1267
|
+
void merge(BOOST_RV_REF(list) x, StrictWeakOrdering comp)
|
1268
|
+
{ this->merge(static_cast<list&>(x), comp); }
|
1269
|
+
|
1270
|
+
//! <b>Effects</b>: This function sorts the list *this according to std::less<value_type>.
|
1271
|
+
//! The sort is stable, that is, the relative order of equivalent elements is preserved.
|
1272
|
+
//!
|
1273
|
+
//! <b>Throws</b>: If comparison throws.
|
1274
|
+
//!
|
1275
|
+
//! <b>Notes</b>: Iterators and references are not invalidated.
|
1276
|
+
//!
|
1277
|
+
//! <b>Complexity</b>: The number of comparisons is approximately N log N, where N
|
1278
|
+
//! is the list's size.
|
1279
|
+
void sort()
|
1280
|
+
{ this->sort(value_less()); }
|
1281
|
+
|
1282
|
+
//! <b>Effects</b>: This function sorts the list *this according to std::less<value_type>.
|
1283
|
+
//! The sort is stable, that is, the relative order of equivalent elements is preserved.
|
1284
|
+
//!
|
1285
|
+
//! <b>Throws</b>: If comp throws.
|
1286
|
+
//!
|
1287
|
+
//! <b>Notes</b>: Iterators and references are not invalidated.
|
1288
|
+
//!
|
1289
|
+
//! <b>Complexity</b>: The number of comparisons is approximately N log N, where N
|
1290
|
+
//! is the list's size.
|
1291
|
+
template <class StrictWeakOrdering>
|
1292
|
+
void sort(StrictWeakOrdering comp)
|
1293
|
+
{
|
1294
|
+
// nothing if the list has length 0 or 1.
|
1295
|
+
if (this->size() < 2)
|
1296
|
+
return;
|
1297
|
+
this->icont().sort(ValueCompareToNodeCompare<StrictWeakOrdering>(comp));
|
1298
|
+
}
|
1299
|
+
|
1300
|
+
//! <b>Effects</b>: Reverses the order of elements in the list.
|
1301
|
+
//!
|
1302
|
+
//! <b>Throws</b>: Nothing.
|
1303
|
+
//!
|
1304
|
+
//! <b>Complexity</b>: This function is linear time.
|
1305
|
+
//!
|
1306
|
+
//! <b>Note</b>: Iterators and references are not invalidated
|
1307
|
+
void reverse() BOOST_CONTAINER_NOEXCEPT
|
1308
|
+
{ this->icont().reverse(); }
|
1309
|
+
|
1310
|
+
/// @cond
|
1311
|
+
private:
|
1312
|
+
|
1313
|
+
bool priv_try_shrink(size_type new_size)
|
1314
|
+
{
|
1315
|
+
const size_type len = this->size();
|
1316
|
+
if(len > new_size){
|
1317
|
+
const const_iterator iend = this->cend();
|
1318
|
+
size_type to_erase = len - new_size;
|
1319
|
+
const_iterator ifirst;
|
1320
|
+
if(to_erase < len/2u){
|
1321
|
+
ifirst = iend;
|
1322
|
+
while(to_erase--){
|
1323
|
+
--ifirst;
|
1324
|
+
}
|
1325
|
+
}
|
1326
|
+
else{
|
1327
|
+
ifirst = this->cbegin();
|
1328
|
+
size_type to_skip = len - to_erase;
|
1329
|
+
while(to_skip--){
|
1330
|
+
++ifirst;
|
1331
|
+
}
|
1332
|
+
}
|
1333
|
+
this->erase(ifirst, iend);
|
1334
|
+
return true;
|
1335
|
+
}
|
1336
|
+
else{
|
1337
|
+
return false;
|
1338
|
+
}
|
1339
|
+
}
|
1340
|
+
|
1341
|
+
iterator priv_insert(const_iterator p, const T &x)
|
1342
|
+
{
|
1343
|
+
NodePtr tmp = AllocHolder::create_node(x);
|
1344
|
+
return iterator(this->icont().insert(p.get(), *tmp));
|
1345
|
+
}
|
1346
|
+
|
1347
|
+
iterator priv_insert(const_iterator p, BOOST_RV_REF(T) x)
|
1348
|
+
{
|
1349
|
+
NodePtr tmp = AllocHolder::create_node(boost::move(x));
|
1350
|
+
return iterator(this->icont().insert(p.get(), *tmp));
|
1351
|
+
}
|
1352
|
+
|
1353
|
+
void priv_push_back (const T &x)
|
1354
|
+
{ this->insert(this->cend(), x); }
|
1355
|
+
|
1356
|
+
void priv_push_back (BOOST_RV_REF(T) x)
|
1357
|
+
{ this->insert(this->cend(), boost::move(x)); }
|
1358
|
+
|
1359
|
+
void priv_push_front (const T &x)
|
1360
|
+
{ this->insert(this->cbegin(), x); }
|
1361
|
+
|
1362
|
+
void priv_push_front (BOOST_RV_REF(T) x)
|
1363
|
+
{ this->insert(this->cbegin(), boost::move(x)); }
|
1364
|
+
|
1365
|
+
class insertion_functor;
|
1366
|
+
friend class insertion_functor;
|
1367
|
+
|
1368
|
+
class insertion_functor
|
1369
|
+
{
|
1370
|
+
Icont &icont_;
|
1371
|
+
typedef typename Icont::const_iterator iconst_iterator;
|
1372
|
+
const iconst_iterator pos_;
|
1373
|
+
|
1374
|
+
public:
|
1375
|
+
insertion_functor(Icont &icont, typename Icont::const_iterator pos)
|
1376
|
+
: icont_(icont), pos_(pos)
|
1377
|
+
{}
|
1378
|
+
|
1379
|
+
void operator()(Node &n)
|
1380
|
+
{
|
1381
|
+
this->icont_.insert(pos_, n);
|
1382
|
+
}
|
1383
|
+
};
|
1384
|
+
|
1385
|
+
//Functors for member algorithm defaults
|
1386
|
+
struct value_less
|
1387
|
+
{
|
1388
|
+
bool operator()(const value_type &a, const value_type &b) const
|
1389
|
+
{ return a < b; }
|
1390
|
+
};
|
1391
|
+
|
1392
|
+
struct value_equal
|
1393
|
+
{
|
1394
|
+
bool operator()(const value_type &a, const value_type &b) const
|
1395
|
+
{ return a == b; }
|
1396
|
+
};
|
1397
|
+
/// @endcond
|
1398
|
+
|
1399
|
+
};
|
1400
|
+
|
1401
|
+
template <class T, class Allocator>
|
1402
|
+
inline bool operator==(const list<T,Allocator>& x, const list<T,Allocator>& y)
|
1403
|
+
{
|
1404
|
+
if(x.size() != y.size()){
|
1405
|
+
return false;
|
1406
|
+
}
|
1407
|
+
typedef typename list<T,Allocator>::const_iterator const_iterator;
|
1408
|
+
const_iterator end1 = x.end();
|
1409
|
+
|
1410
|
+
const_iterator i1 = x.begin();
|
1411
|
+
const_iterator i2 = y.begin();
|
1412
|
+
while (i1 != end1 && *i1 == *i2) {
|
1413
|
+
++i1;
|
1414
|
+
++i2;
|
1415
|
+
}
|
1416
|
+
return i1 == end1;
|
1417
|
+
}
|
1418
|
+
|
1419
|
+
template <class T, class Allocator>
|
1420
|
+
inline bool operator<(const list<T,Allocator>& x,
|
1421
|
+
const list<T,Allocator>& y)
|
1422
|
+
{
|
1423
|
+
return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end());
|
1424
|
+
}
|
1425
|
+
|
1426
|
+
template <class T, class Allocator>
|
1427
|
+
inline bool operator!=(const list<T,Allocator>& x, const list<T,Allocator>& y)
|
1428
|
+
{
|
1429
|
+
return !(x == y);
|
1430
|
+
}
|
1431
|
+
|
1432
|
+
template <class T, class Allocator>
|
1433
|
+
inline bool operator>(const list<T,Allocator>& x, const list<T,Allocator>& y)
|
1434
|
+
{
|
1435
|
+
return y < x;
|
1436
|
+
}
|
1437
|
+
|
1438
|
+
template <class T, class Allocator>
|
1439
|
+
inline bool operator<=(const list<T,Allocator>& x, const list<T,Allocator>& y)
|
1440
|
+
{
|
1441
|
+
return !(y < x);
|
1442
|
+
}
|
1443
|
+
|
1444
|
+
template <class T, class Allocator>
|
1445
|
+
inline bool operator>=(const list<T,Allocator>& x, const list<T,Allocator>& y)
|
1446
|
+
{
|
1447
|
+
return !(x < y);
|
1448
|
+
}
|
1449
|
+
|
1450
|
+
template <class T, class Allocator>
|
1451
|
+
inline void swap(list<T, Allocator>& x, list<T, Allocator>& y)
|
1452
|
+
{
|
1453
|
+
x.swap(y);
|
1454
|
+
}
|
1455
|
+
|
1456
|
+
/// @cond
|
1457
|
+
|
1458
|
+
} //namespace container {
|
1459
|
+
|
1460
|
+
//!has_trivial_destructor_after_move<> == true_type
|
1461
|
+
//!specialization for optimizations
|
1462
|
+
template <class T, class Allocator>
|
1463
|
+
struct has_trivial_destructor_after_move<boost::container::list<T, Allocator> >
|
1464
|
+
: public ::boost::has_trivial_destructor_after_move<Allocator>
|
1465
|
+
{};
|
1466
|
+
|
1467
|
+
namespace container {
|
1468
|
+
|
1469
|
+
/// @endcond
|
1470
|
+
|
1471
|
+
}}
|
1472
|
+
|
1473
|
+
#include <boost/container/detail/config_end.hpp>
|
1474
|
+
|
1475
|
+
#endif // BOOST_CONTAINER_LIST_HPP
|