passenger 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- data/DEVELOPERS.TXT +52 -0
- data/INSTALL +2 -0
- data/LICENSE +352 -0
- data/README +19 -0
- data/Rakefile +435 -0
- data/benchmark/DummyRequestHandler.cpp +101 -0
- data/benchmark/accept_vs_socketpair_vs_named_pipes.rb +126 -0
- data/benchmark/dispatcher.rb +46 -0
- data/benchmark/overhead_of_password_checking.rb +81 -0
- data/benchmark/socket_connections_vs_persistent_pipe.rb +99 -0
- data/benchmark/unix_sockets_vs_pipes.rb +83 -0
- data/bin/passenger-install-apache2-module +274 -0
- data/bin/passenger-spawn-server +38 -0
- data/doc/ApplicationPool algorithm.txt +290 -0
- data/doc/Architectural overview.html +740 -0
- data/doc/Architectural overview.txt +339 -0
- data/doc/Doxyfile +241 -0
- data/doc/Security of user switching support.html +605 -0
- data/doc/Security of user switching support.txt +197 -0
- data/doc/Users guide.html +1356 -0
- data/doc/Users guide.txt +707 -0
- data/doc/cxxapi/ApplicationPoolClientServer_8h-source.html +673 -0
- data/doc/cxxapi/ApplicationPool_8h-source.html +189 -0
- data/doc/cxxapi/Application_8h-source.html +402 -0
- data/doc/cxxapi/Configuration_8h-source.html +145 -0
- data/doc/cxxapi/DummySpawnManager_8h-source.html +121 -0
- data/doc/cxxapi/Exceptions_8h-source.html +188 -0
- data/doc/cxxapi/Hooks_8h-source.html +58 -0
- data/doc/cxxapi/Logging_8h-source.html +103 -0
- data/doc/cxxapi/MessageChannel_8h-source.html +483 -0
- data/doc/cxxapi/SpawnManager_8h-source.html +552 -0
- data/doc/cxxapi/StandardApplicationPool_8h-source.html +554 -0
- data/doc/cxxapi/Utils_8h-source.html +176 -0
- data/doc/cxxapi/annotated.html +43 -0
- data/doc/cxxapi/classPassenger_1_1Application-members.html +33 -0
- data/doc/cxxapi/classPassenger_1_1Application.html +224 -0
- data/doc/cxxapi/classPassenger_1_1ApplicationPool-members.html +34 -0
- data/doc/cxxapi/classPassenger_1_1ApplicationPool.html +272 -0
- data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer-members.html +31 -0
- data/doc/cxxapi/classPassenger_1_1ApplicationPoolServer.html +216 -0
- data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1ApplicationPool__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1Application_1_1Session-members.html +36 -0
- data/doc/cxxapi/classPassenger_1_1Application_1_1Session.html +294 -0
- data/doc/cxxapi/classPassenger_1_1DummySpawnManager-members.html +28 -0
- data/doc/cxxapi/classPassenger_1_1DummySpawnManager.html +46 -0
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException-members.html +28 -0
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException.html +46 -0
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1FileNotFoundException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1IOException-members.html +28 -0
- data/doc/cxxapi/classPassenger_1_1IOException.html +49 -0
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1IOException__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1MessageChannel-members.html +42 -0
- data/doc/cxxapi/classPassenger_1_1MessageChannel.html +568 -0
- data/doc/cxxapi/classPassenger_1_1SpawnException-members.html +30 -0
- data/doc/cxxapi/classPassenger_1_1SpawnException.html +74 -0
- data/doc/cxxapi/classPassenger_1_1SpawnManager-members.html +32 -0
- data/doc/cxxapi/classPassenger_1_1SpawnManager.html +234 -0
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool-members.html +35 -0
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool.html +320 -0
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.map +1 -0
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.md5 +1 -0
- data/doc/cxxapi/classPassenger_1_1StandardApplicationPool__inherit__graph.png +0 -0
- data/doc/cxxapi/classPassenger_1_1SystemException-members.html +32 -0
- data/doc/cxxapi/classPassenger_1_1SystemException.html +144 -0
- data/doc/cxxapi/definitions_8h-source.html +25 -0
- data/doc/cxxapi/doxygen.css +358 -0
- data/doc/cxxapi/doxygen.png +0 -0
- data/doc/cxxapi/files.html +35 -0
- data/doc/cxxapi/ftv2blank.png +0 -0
- data/doc/cxxapi/ftv2doc.png +0 -0
- data/doc/cxxapi/ftv2folderclosed.png +0 -0
- data/doc/cxxapi/ftv2folderopen.png +0 -0
- data/doc/cxxapi/ftv2lastnode.png +0 -0
- data/doc/cxxapi/ftv2link.png +0 -0
- data/doc/cxxapi/ftv2mlastnode.png +0 -0
- data/doc/cxxapi/ftv2mnode.png +0 -0
- data/doc/cxxapi/ftv2node.png +0 -0
- data/doc/cxxapi/ftv2plastnode.png +0 -0
- data/doc/cxxapi/ftv2pnode.png +0 -0
- data/doc/cxxapi/ftv2vertline.png +0 -0
- data/doc/cxxapi/functions.html +160 -0
- data/doc/cxxapi/functions_func.html +158 -0
- data/doc/cxxapi/functions_type.html +40 -0
- data/doc/cxxapi/graph_legend.dot +22 -0
- data/doc/cxxapi/graph_legend.html +82 -0
- data/doc/cxxapi/graph_legend.png +0 -0
- data/doc/cxxapi/group__Configuration.html +231 -0
- data/doc/cxxapi/group__Configuration.png +0 -0
- data/doc/cxxapi/group__Core.html +39 -0
- data/doc/cxxapi/group__Core.png +0 -0
- data/doc/cxxapi/group__Exceptions.html +32 -0
- data/doc/cxxapi/group__Hooks.html +41 -0
- data/doc/cxxapi/group__Hooks.png +0 -0
- data/doc/cxxapi/group__Support.html +258 -0
- data/doc/cxxapi/hierarchy.html +51 -0
- data/doc/cxxapi/index.html +11 -0
- data/doc/cxxapi/inherit__graph__0.map +1 -0
- data/doc/cxxapi/inherit__graph__0.md5 +1 -0
- data/doc/cxxapi/inherit__graph__0.png +0 -0
- data/doc/cxxapi/inherit__graph__1.map +1 -0
- data/doc/cxxapi/inherit__graph__1.md5 +1 -0
- data/doc/cxxapi/inherit__graph__1.png +0 -0
- data/doc/cxxapi/inherit__graph__2.map +1 -0
- data/doc/cxxapi/inherit__graph__2.md5 +1 -0
- data/doc/cxxapi/inherit__graph__2.png +0 -0
- data/doc/cxxapi/inherit__graph__3.map +1 -0
- data/doc/cxxapi/inherit__graph__3.md5 +1 -0
- data/doc/cxxapi/inherit__graph__3.png +0 -0
- data/doc/cxxapi/inherit__graph__4.map +2 -0
- data/doc/cxxapi/inherit__graph__4.md5 +1 -0
- data/doc/cxxapi/inherit__graph__4.png +0 -0
- data/doc/cxxapi/inherit__graph__5.map +1 -0
- data/doc/cxxapi/inherit__graph__5.md5 +1 -0
- data/doc/cxxapi/inherit__graph__5.png +0 -0
- data/doc/cxxapi/inherit__graph__6.map +1 -0
- data/doc/cxxapi/inherit__graph__6.md5 +1 -0
- data/doc/cxxapi/inherit__graph__6.png +0 -0
- data/doc/cxxapi/inherit__graph__7.map +5 -0
- data/doc/cxxapi/inherit__graph__7.md5 +1 -0
- data/doc/cxxapi/inherit__graph__7.png +0 -0
- data/doc/cxxapi/inherit__graph__8.map +1 -0
- data/doc/cxxapi/inherit__graph__8.md5 +1 -0
- data/doc/cxxapi/inherit__graph__8.png +0 -0
- data/doc/cxxapi/inherit__graph__9.map +1 -0
- data/doc/cxxapi/inherit__graph__9.md5 +1 -0
- data/doc/cxxapi/inherit__graph__9.png +0 -0
- data/doc/cxxapi/inherits.html +61 -0
- data/doc/cxxapi/main.html +22 -0
- data/doc/cxxapi/modules.html +29 -0
- data/doc/cxxapi/structPassenger_1_1AnythingToString-members.html +28 -0
- data/doc/cxxapi/structPassenger_1_1AnythingToString.html +44 -0
- data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4-members.html +28 -0
- data/doc/cxxapi/structPassenger_1_1AnythingToString_3_01vector_3_01string_01_4_01_4.html +44 -0
- data/doc/cxxapi/tab_b.gif +0 -0
- data/doc/cxxapi/tab_l.gif +0 -0
- data/doc/cxxapi/tab_r.gif +0 -0
- data/doc/cxxapi/tabs.css +102 -0
- data/doc/cxxapi/tree.html +138 -0
- data/doc/definitions.h +5 -0
- data/doc/images/by_sa.png +0 -0
- data/doc/images/icons/README +5 -0
- data/doc/images/icons/callouts/1.png +0 -0
- data/doc/images/icons/callouts/10.png +0 -0
- data/doc/images/icons/callouts/11.png +0 -0
- data/doc/images/icons/callouts/12.png +0 -0
- data/doc/images/icons/callouts/13.png +0 -0
- data/doc/images/icons/callouts/14.png +0 -0
- data/doc/images/icons/callouts/15.png +0 -0
- data/doc/images/icons/callouts/2.png +0 -0
- data/doc/images/icons/callouts/3.png +0 -0
- data/doc/images/icons/callouts/4.png +0 -0
- data/doc/images/icons/callouts/5.png +0 -0
- data/doc/images/icons/callouts/6.png +0 -0
- data/doc/images/icons/callouts/7.png +0 -0
- data/doc/images/icons/callouts/8.png +0 -0
- data/doc/images/icons/callouts/9.png +0 -0
- data/doc/images/icons/caution.png +0 -0
- data/doc/images/icons/example.png +0 -0
- data/doc/images/icons/home.png +0 -0
- data/doc/images/icons/important.png +0 -0
- data/doc/images/icons/next.png +0 -0
- data/doc/images/icons/note.png +0 -0
- data/doc/images/icons/prev.png +0 -0
- data/doc/images/icons/tip.png +0 -0
- data/doc/images/icons/up.png +0 -0
- data/doc/images/icons/warning.png +0 -0
- data/doc/images/passenger_architecture.png +0 -0
- data/doc/images/passenger_architecture.svg +401 -0
- data/doc/images/phusion_banner.png +0 -0
- data/doc/images/spawn_server_architecture.png +0 -0
- data/doc/images/spawn_server_architecture.svg +655 -0
- data/doc/images/typical_isolated_web_application.png +0 -0
- data/doc/images/typical_isolated_web_application.svg +213 -0
- data/doc/rdoc/classes/ConditionVariable.html +158 -0
- data/doc/rdoc/classes/Exception.html +120 -0
- data/doc/rdoc/classes/GC.html +113 -0
- data/doc/rdoc/classes/IO.html +150 -0
- data/doc/rdoc/classes/Passenger.html +117 -0
- data/doc/rdoc/classes/Passenger/AbstractServer.html +609 -0
- data/doc/rdoc/classes/Passenger/AbstractServer/ServerAlreadyStarted.html +97 -0
- data/doc/rdoc/classes/Passenger/AbstractServer/ServerError.html +96 -0
- data/doc/rdoc/classes/Passenger/AbstractServer/ServerNotStarted.html +97 -0
- data/doc/rdoc/classes/Passenger/AbstractServer/UnknownMessage.html +96 -0
- data/doc/rdoc/classes/Passenger/AppInitError.html +106 -0
- data/doc/rdoc/classes/Passenger/Application.html +297 -0
- data/doc/rdoc/classes/Passenger/ApplicationSpawner.html +334 -0
- data/doc/rdoc/classes/Passenger/ApplicationSpawner/Error.html +98 -0
- data/doc/rdoc/classes/Passenger/CGIFixed.html +200 -0
- data/doc/rdoc/classes/Passenger/ConsoleTextTemplate.html +172 -0
- data/doc/rdoc/classes/Passenger/FrameworkInitError.html +144 -0
- data/doc/rdoc/classes/Passenger/FrameworkSpawner.html +429 -0
- data/doc/rdoc/classes/Passenger/FrameworkSpawner/Error.html +98 -0
- data/doc/rdoc/classes/Passenger/HTMLTemplate.html +175 -0
- data/doc/rdoc/classes/Passenger/InitializationError.html +141 -0
- data/doc/rdoc/classes/Passenger/MessageChannel.html +488 -0
- data/doc/rdoc/classes/Passenger/NativeSupport.html +320 -0
- data/doc/rdoc/classes/Passenger/RequestHandler.html +415 -0
- data/doc/rdoc/classes/Passenger/SpawnManager.html +373 -0
- data/doc/rdoc/classes/Passenger/UnknownError.html +125 -0
- data/doc/rdoc/classes/Passenger/Utils.html +352 -0
- data/doc/rdoc/classes/Passenger/VersionNotFound.html +140 -0
- data/doc/rdoc/classes/PlatformInfo.html +279 -0
- data/doc/rdoc/classes/RakeExtensions.html +197 -0
- data/doc/rdoc/created.rid +1 -0
- data/doc/rdoc/files/DEVELOPERS_TXT.html +178 -0
- data/doc/rdoc/files/README.html +120 -0
- data/doc/rdoc/files/ext/passenger/native_support_c.html +92 -0
- data/doc/rdoc/files/lib/passenger/abstract_server_rb.html +121 -0
- data/doc/rdoc/files/lib/passenger/application_rb.html +119 -0
- data/doc/rdoc/files/lib/passenger/application_spawner_rb.html +128 -0
- data/doc/rdoc/files/lib/passenger/cgi_fixed_rb.html +127 -0
- data/doc/rdoc/files/lib/passenger/console_text_template_rb.html +118 -0
- data/doc/rdoc/files/lib/passenger/dependencies_rb.html +124 -0
- data/doc/rdoc/files/lib/passenger/framework_spawner_rb.html +135 -0
- data/doc/rdoc/files/lib/passenger/html_template_rb.html +118 -0
- data/doc/rdoc/files/lib/passenger/message_channel_rb.html +118 -0
- data/doc/rdoc/files/lib/passenger/platform_info_rb.html +118 -0
- data/doc/rdoc/files/lib/passenger/request_handler_rb.html +122 -0
- data/doc/rdoc/files/lib/passenger/simple_benchmarking_rb.html +114 -0
- data/doc/rdoc/files/lib/passenger/spawn_manager_rb.html +124 -0
- data/doc/rdoc/files/lib/passenger/utils_rb.html +123 -0
- data/doc/rdoc/files/lib/rake/extensions_rb.html +122 -0
- data/doc/rdoc/fr_class_index.html +76 -0
- data/doc/rdoc/fr_file_index.html +64 -0
- data/doc/rdoc/fr_method_index.html +125 -0
- data/doc/rdoc/index.html +26 -0
- data/doc/rdoc/rdoc-style.css +187 -0
- data/doc/template/horo.rb +613 -0
- data/ext/apache2/Application.h +382 -0
- data/ext/apache2/ApplicationPool.h +169 -0
- data/ext/apache2/ApplicationPoolClientServer.h +653 -0
- data/ext/apache2/Configuration.cpp +294 -0
- data/ext/apache2/Configuration.h +125 -0
- data/ext/apache2/DummySpawnManager.h +101 -0
- data/ext/apache2/Exceptions.h +168 -0
- data/ext/apache2/Hooks.cpp +630 -0
- data/ext/apache2/Hooks.h +38 -0
- data/ext/apache2/LICENSE-CNRI.TXT +64 -0
- data/ext/apache2/Logging.cpp +48 -0
- data/ext/apache2/Logging.h +83 -0
- data/ext/apache2/MessageChannel.h +463 -0
- data/ext/apache2/SpawnManager.h +532 -0
- data/ext/apache2/StandardApplicationPool.h +534 -0
- data/ext/apache2/Utils.cpp +108 -0
- data/ext/apache2/Utils.h +156 -0
- data/ext/apache2/mod_passenger.c +31 -0
- data/ext/boost/LICENSE.TXT +23 -0
- data/ext/boost/VERSION.TXT +1 -0
- data/ext/boost/assert.hpp +37 -0
- data/ext/boost/bind.hpp +1651 -0
- data/ext/boost/bind/apply.hpp +74 -0
- data/ext/boost/bind/arg.hpp +36 -0
- data/ext/boost/bind/bind_cc.hpp +117 -0
- data/ext/boost/bind/bind_mf_cc.hpp +227 -0
- data/ext/boost/bind/bind_template.hpp +226 -0
- data/ext/boost/bind/make_adaptable.hpp +187 -0
- data/ext/boost/bind/mem_fn_cc.hpp +103 -0
- data/ext/boost/bind/mem_fn_template.hpp +1020 -0
- data/ext/boost/bind/mem_fn_vw.hpp +130 -0
- data/ext/boost/bind/placeholders.hpp +68 -0
- data/ext/boost/bind/protect.hpp +144 -0
- data/ext/boost/bind/storage.hpp +475 -0
- data/ext/boost/checked_delete.hpp +69 -0
- data/ext/boost/config.hpp +70 -0
- data/ext/boost/config/abi/borland_prefix.hpp +27 -0
- data/ext/boost/config/abi/borland_suffix.hpp +12 -0
- data/ext/boost/config/abi/msvc_prefix.hpp +8 -0
- data/ext/boost/config/abi/msvc_suffix.hpp +8 -0
- data/ext/boost/config/abi_prefix.hpp +20 -0
- data/ext/boost/config/abi_suffix.hpp +23 -0
- data/ext/boost/config/auto_link.hpp +363 -0
- data/ext/boost/config/compiler/borland.hpp +190 -0
- data/ext/boost/config/compiler/comeau.hpp +59 -0
- data/ext/boost/config/compiler/common_edg.hpp +62 -0
- data/ext/boost/config/compiler/compaq_cxx.hpp +19 -0
- data/ext/boost/config/compiler/digitalmars.hpp +49 -0
- data/ext/boost/config/compiler/gcc.hpp +105 -0
- data/ext/boost/config/compiler/gcc_xml.hpp +30 -0
- data/ext/boost/config/compiler/greenhills.hpp +28 -0
- data/ext/boost/config/compiler/hp_acc.hpp +72 -0
- data/ext/boost/config/compiler/intel.hpp +158 -0
- data/ext/boost/config/compiler/kai.hpp +35 -0
- data/ext/boost/config/compiler/metrowerks.hpp +104 -0
- data/ext/boost/config/compiler/mpw.hpp +51 -0
- data/ext/boost/config/compiler/sgi_mipspro.hpp +24 -0
- data/ext/boost/config/compiler/sunpro_cc.hpp +92 -0
- data/ext/boost/config/compiler/vacpp.hpp +57 -0
- data/ext/boost/config/compiler/visualc.hpp +178 -0
- data/ext/boost/config/no_tr1/complex.hpp +28 -0
- data/ext/boost/config/no_tr1/functional.hpp +28 -0
- data/ext/boost/config/no_tr1/memory.hpp +28 -0
- data/ext/boost/config/no_tr1/utility.hpp +28 -0
- data/ext/boost/config/platform/aix.hpp +33 -0
- data/ext/boost/config/platform/amigaos.hpp +15 -0
- data/ext/boost/config/platform/beos.hpp +26 -0
- data/ext/boost/config/platform/bsd.hpp +73 -0
- data/ext/boost/config/platform/cygwin.hpp +48 -0
- data/ext/boost/config/platform/hpux.hpp +85 -0
- data/ext/boost/config/platform/irix.hpp +31 -0
- data/ext/boost/config/platform/linux.hpp +98 -0
- data/ext/boost/config/platform/macos.hpp +78 -0
- data/ext/boost/config/platform/qnxnto.hpp +31 -0
- data/ext/boost/config/platform/solaris.hpp +21 -0
- data/ext/boost/config/platform/win32.hpp +58 -0
- data/ext/boost/config/posix_features.hpp +95 -0
- data/ext/boost/config/requires_threads.hpp +92 -0
- data/ext/boost/config/select_compiler_config.hpp +87 -0
- data/ext/boost/config/select_platform_config.hpp +90 -0
- data/ext/boost/config/select_stdlib_config.hpp +68 -0
- data/ext/boost/config/stdlib/dinkumware.hpp +106 -0
- data/ext/boost/config/stdlib/libcomo.hpp +46 -0
- data/ext/boost/config/stdlib/libstdcpp3.hpp +73 -0
- data/ext/boost/config/stdlib/modena.hpp +30 -0
- data/ext/boost/config/stdlib/msl.hpp +59 -0
- data/ext/boost/config/stdlib/roguewave.hpp +127 -0
- data/ext/boost/config/stdlib/sgi.hpp +111 -0
- data/ext/boost/config/stdlib/stlport.hpp +201 -0
- data/ext/boost/config/stdlib/vacpp.hpp +18 -0
- data/ext/boost/config/suffix.hpp +569 -0
- data/ext/boost/config/user.hpp +124 -0
- data/ext/boost/cstdint.hpp +446 -0
- data/ext/boost/detail/bad_weak_ptr.hpp +59 -0
- data/ext/boost/detail/reference_content.hpp +141 -0
- data/ext/boost/detail/shared_count.hpp +376 -0
- data/ext/boost/detail/sp_counted_base.hpp +69 -0
- data/ext/boost/detail/sp_counted_base_cw_ppc.hpp +170 -0
- data/ext/boost/detail/sp_counted_base_cw_x86.hpp +158 -0
- data/ext/boost/detail/sp_counted_base_gcc_ia64.hpp +157 -0
- data/ext/boost/detail/sp_counted_base_gcc_ppc.hpp +181 -0
- data/ext/boost/detail/sp_counted_base_gcc_x86.hpp +173 -0
- data/ext/boost/detail/sp_counted_base_nt.hpp +107 -0
- data/ext/boost/detail/sp_counted_base_pt.hpp +135 -0
- data/ext/boost/detail/sp_counted_base_w32.hpp +130 -0
- data/ext/boost/detail/sp_counted_impl.hpp +232 -0
- data/ext/boost/detail/workaround.hpp +74 -0
- data/ext/boost/format.hpp +59 -0
- data/ext/boost/format/alt_sstream.hpp +176 -0
- data/ext/boost/format/alt_sstream_impl.hpp +296 -0
- data/ext/boost/format/detail/compat_workarounds.hpp +86 -0
- data/ext/boost/format/detail/config_macros.hpp +97 -0
- data/ext/boost/format/detail/msvc_disambiguater.hpp +56 -0
- data/ext/boost/format/detail/unset_macros.hpp +34 -0
- data/ext/boost/format/detail/workarounds_gcc-2_95.hpp +162 -0
- data/ext/boost/format/detail/workarounds_stlport.hpp +42 -0
- data/ext/boost/format/exceptions.hpp +103 -0
- data/ext/boost/format/feed_args.hpp +267 -0
- data/ext/boost/format/format_class.hpp +143 -0
- data/ext/boost/format/format_fwd.hpp +49 -0
- data/ext/boost/format/format_implementation.hpp +277 -0
- data/ext/boost/format/free_funcs.hpp +70 -0
- data/ext/boost/format/group.hpp +676 -0
- data/ext/boost/format/internals.hpp +199 -0
- data/ext/boost/format/internals_fwd.hpp +60 -0
- data/ext/boost/format/parsing.hpp +491 -0
- data/ext/boost/function.hpp +64 -0
- data/ext/boost/function/detail/function_iterate.hpp +16 -0
- data/ext/boost/function/detail/gen_maybe_include.pl +37 -0
- data/ext/boost/function/detail/maybe_include.hpp +267 -0
- data/ext/boost/function/detail/prologue.hpp +24 -0
- data/ext/boost/function/function0.hpp +12 -0
- data/ext/boost/function/function1.hpp +12 -0
- data/ext/boost/function/function10.hpp +12 -0
- data/ext/boost/function/function2.hpp +12 -0
- data/ext/boost/function/function3.hpp +12 -0
- data/ext/boost/function/function4.hpp +12 -0
- data/ext/boost/function/function5.hpp +12 -0
- data/ext/boost/function/function6.hpp +12 -0
- data/ext/boost/function/function7.hpp +12 -0
- data/ext/boost/function/function8.hpp +12 -0
- data/ext/boost/function/function9.hpp +12 -0
- data/ext/boost/function/function_base.hpp +736 -0
- data/ext/boost/function/function_template.hpp +837 -0
- data/ext/boost/function/gen_function_N.pl +26 -0
- data/ext/boost/function_equal.hpp +28 -0
- data/ext/boost/get_pointer.hpp +29 -0
- data/ext/boost/limits.hpp +144 -0
- data/ext/boost/mem_fn.hpp +389 -0
- data/ext/boost/mpl/O1_size.hpp +40 -0
- data/ext/boost/mpl/O1_size_fwd.hpp +24 -0
- data/ext/boost/mpl/accumulate.hpp +39 -0
- data/ext/boost/mpl/advance.hpp +76 -0
- data/ext/boost/mpl/advance_fwd.hpp +28 -0
- data/ext/boost/mpl/alias.hpp +21 -0
- data/ext/boost/mpl/always.hpp +39 -0
- data/ext/boost/mpl/and.hpp +56 -0
- data/ext/boost/mpl/apply.hpp +225 -0
- data/ext/boost/mpl/apply_fwd.hpp +107 -0
- data/ext/boost/mpl/apply_wrap.hpp +200 -0
- data/ext/boost/mpl/arg.hpp +131 -0
- data/ext/boost/mpl/arg_fwd.hpp +28 -0
- data/ext/boost/mpl/arithmetic.hpp +25 -0
- data/ext/boost/mpl/as_sequence.hpp +38 -0
- data/ext/boost/mpl/assert.hpp +361 -0
- data/ext/boost/mpl/at.hpp +52 -0
- data/ext/boost/mpl/at_fwd.hpp +24 -0
- data/ext/boost/mpl/aux_/O1_size_impl.hpp +87 -0
- data/ext/boost/mpl/aux_/adl_barrier.hpp +48 -0
- data/ext/boost/mpl/aux_/advance_backward.hpp +124 -0
- data/ext/boost/mpl/aux_/advance_forward.hpp +123 -0
- data/ext/boost/mpl/aux_/apply_1st.hpp +35 -0
- data/ext/boost/mpl/aux_/arg_typedef.hpp +31 -0
- data/ext/boost/mpl/aux_/arithmetic_op.hpp +92 -0
- data/ext/boost/mpl/aux_/arity.hpp +39 -0
- data/ext/boost/mpl/aux_/arity_spec.hpp +67 -0
- data/ext/boost/mpl/aux_/at_impl.hpp +45 -0
- data/ext/boost/mpl/aux_/back_impl.hpp +43 -0
- data/ext/boost/mpl/aux_/basic_bind.hpp +21 -0
- data/ext/boost/mpl/aux_/begin_end_impl.hpp +100 -0
- data/ext/boost/mpl/aux_/clear_impl.hpp +35 -0
- data/ext/boost/mpl/aux_/common_name_wknd.hpp +34 -0
- data/ext/boost/mpl/aux_/comparison_op.hpp +83 -0
- data/ext/boost/mpl/aux_/config/adl.hpp +40 -0
- data/ext/boost/mpl/aux_/config/arrays.hpp +30 -0
- data/ext/boost/mpl/aux_/config/bind.hpp +33 -0
- data/ext/boost/mpl/aux_/config/compiler.hpp +64 -0
- data/ext/boost/mpl/aux_/config/ctps.hpp +30 -0
- data/ext/boost/mpl/aux_/config/dependent_nttp.hpp +35 -0
- data/ext/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp +27 -0
- data/ext/boost/mpl/aux_/config/dtp.hpp +46 -0
- data/ext/boost/mpl/aux_/config/eti.hpp +47 -0
- data/ext/boost/mpl/aux_/config/forwarding.hpp +27 -0
- data/ext/boost/mpl/aux_/config/gcc.hpp +23 -0
- data/ext/boost/mpl/aux_/config/has_apply.hpp +32 -0
- data/ext/boost/mpl/aux_/config/has_xxx.hpp +33 -0
- data/ext/boost/mpl/aux_/config/integral.hpp +38 -0
- data/ext/boost/mpl/aux_/config/intel.hpp +21 -0
- data/ext/boost/mpl/aux_/config/lambda.hpp +32 -0
- data/ext/boost/mpl/aux_/config/msvc.hpp +21 -0
- data/ext/boost/mpl/aux_/config/msvc_typename.hpp +26 -0
- data/ext/boost/mpl/aux_/config/nttp.hpp +41 -0
- data/ext/boost/mpl/aux_/config/operators.hpp +33 -0
- data/ext/boost/mpl/aux_/config/overload_resolution.hpp +29 -0
- data/ext/boost/mpl/aux_/config/preprocessor.hpp +39 -0
- data/ext/boost/mpl/aux_/config/static_constant.hpp +25 -0
- data/ext/boost/mpl/aux_/config/ttp.hpp +39 -0
- data/ext/boost/mpl/aux_/config/typeof.hpp +38 -0
- data/ext/boost/mpl/aux_/config/use_preprocessed.hpp +19 -0
- data/ext/boost/mpl/aux_/config/workaround.hpp +19 -0
- data/ext/boost/mpl/aux_/contains_impl.hpp +61 -0
- data/ext/boost/mpl/aux_/count_args.hpp +105 -0
- data/ext/boost/mpl/aux_/count_impl.hpp +44 -0
- data/ext/boost/mpl/aux_/empty_impl.hpp +43 -0
- data/ext/boost/mpl/aux_/erase_impl.hpp +69 -0
- data/ext/boost/mpl/aux_/erase_key_impl.hpp +32 -0
- data/ext/boost/mpl/aux_/filter_iter.hpp +140 -0
- data/ext/boost/mpl/aux_/find_if_pred.hpp +31 -0
- data/ext/boost/mpl/aux_/fold_impl.hpp +43 -0
- data/ext/boost/mpl/aux_/fold_impl_body.hpp +365 -0
- data/ext/boost/mpl/aux_/fold_op.hpp +37 -0
- data/ext/boost/mpl/aux_/fold_pred.hpp +37 -0
- data/ext/boost/mpl/aux_/front_impl.hpp +41 -0
- data/ext/boost/mpl/aux_/full_lambda.hpp +350 -0
- data/ext/boost/mpl/aux_/has_apply.hpp +32 -0
- data/ext/boost/mpl/aux_/has_begin.hpp +23 -0
- data/ext/boost/mpl/aux_/has_key_impl.hpp +34 -0
- data/ext/boost/mpl/aux_/has_rebind.hpp +99 -0
- data/ext/boost/mpl/aux_/has_size.hpp +23 -0
- data/ext/boost/mpl/aux_/has_tag.hpp +23 -0
- data/ext/boost/mpl/aux_/has_type.hpp +23 -0
- data/ext/boost/mpl/aux_/include_preprocessed.hpp +42 -0
- data/ext/boost/mpl/aux_/insert_impl.hpp +68 -0
- data/ext/boost/mpl/aux_/insert_range_impl.hpp +77 -0
- data/ext/boost/mpl/aux_/inserter_algorithm.hpp +159 -0
- data/ext/boost/mpl/aux_/integral_wrapper.hpp +93 -0
- data/ext/boost/mpl/aux_/is_msvc_eti_arg.hpp +64 -0
- data/ext/boost/mpl/aux_/iter_apply.hpp +47 -0
- data/ext/boost/mpl/aux_/iter_fold_if_impl.hpp +210 -0
- data/ext/boost/mpl/aux_/iter_fold_impl.hpp +42 -0
- data/ext/boost/mpl/aux_/iter_push_front.hpp +36 -0
- data/ext/boost/mpl/aux_/joint_iter.hpp +120 -0
- data/ext/boost/mpl/aux_/lambda_arity_param.hpp +25 -0
- data/ext/boost/mpl/aux_/lambda_no_ctps.hpp +193 -0
- data/ext/boost/mpl/aux_/lambda_spec.hpp +49 -0
- data/ext/boost/mpl/aux_/lambda_support.hpp +169 -0
- data/ext/boost/mpl/aux_/largest_int.hpp +63 -0
- data/ext/boost/mpl/aux_/logical_op.hpp +165 -0
- data/ext/boost/mpl/aux_/msvc_dtw.hpp +68 -0
- data/ext/boost/mpl/aux_/msvc_eti_base.hpp +77 -0
- data/ext/boost/mpl/aux_/msvc_is_class.hpp +58 -0
- data/ext/boost/mpl/aux_/msvc_never_true.hpp +34 -0
- data/ext/boost/mpl/aux_/msvc_type.hpp +62 -0
- data/ext/boost/mpl/aux_/na.hpp +95 -0
- data/ext/boost/mpl/aux_/na_assert.hpp +34 -0
- data/ext/boost/mpl/aux_/na_fwd.hpp +31 -0
- data/ext/boost/mpl/aux_/na_spec.hpp +175 -0
- data/ext/boost/mpl/aux_/nested_type_wknd.hpp +48 -0
- data/ext/boost/mpl/aux_/nttp_decl.hpp +35 -0
- data/ext/boost/mpl/aux_/numeric_cast_utils.hpp +77 -0
- data/ext/boost/mpl/aux_/numeric_op.hpp +311 -0
- data/ext/boost/mpl/aux_/order_impl.hpp +76 -0
- data/ext/boost/mpl/aux_/overload_names.hpp +48 -0
- data/ext/boost/mpl/aux_/partition_op.hpp +58 -0
- data/ext/boost/mpl/aux_/pop_back_impl.hpp +34 -0
- data/ext/boost/mpl/aux_/pop_front_impl.hpp +44 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/and.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/apply.hpp +169 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp +456 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/arg.hpp +117 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp +300 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/bind.hpp +397 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp +46 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/bitand.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/bitor.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/deque.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/divides.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp +558 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/greater.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/inherit.hpp +139 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp +229 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/less.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/list.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/list_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/map.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/minus.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/modulus.hpp +101 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/or.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/plus.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/quote.hpp +11 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp +295 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp +295 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/set.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/set_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp +99 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp +99 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp +40 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/times.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/vector.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp +309 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/and.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/apply.hpp +169 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp +456 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/arg.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp +306 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/bind.hpp +403 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp +46 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/deque.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/divides.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp +558 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/greater.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp +141 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp +229 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/less.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/list.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/map.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/minus.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp +101 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/or.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/plus.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/quote.hpp +11 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp +295 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp +295 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/set.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp +99 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp +99 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp +40 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/times.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/vector.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp +309 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/and.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/apply.hpp +169 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp +84 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/arg.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp +406 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/bind.hpp +515 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp +53 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/bitand.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/bitor.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/deque.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/divides.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp +536 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/greater.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/inherit.hpp +141 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp +229 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/less.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/list.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/list_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/map.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/minus.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/modulus.hpp +101 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/or.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/plus.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/quote.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp +231 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp +231 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/set.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/set_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp +99 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp +99 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp +11 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/times.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/vector.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp +309 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/and.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/apply.hpp +169 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp +84 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/arg.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp +440 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/bind.hpp +561 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/bitand.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/bitor.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/deque.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/divides.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp +558 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/greater.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/inherit.hpp +141 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp +229 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/less.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/list.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/list_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/map.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/minus.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/modulus.hpp +101 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/or.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/plus.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/quote.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp +231 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp +231 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/set.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/set_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp +99 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp +99 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp +101 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/times.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/vector.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp +309 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp +132 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp +132 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/and.hpp +73 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/apply.hpp +166 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp +46 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp +247 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/arg.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/bind.hpp +432 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp +46 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp +149 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp +149 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp +149 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/deque.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/divides.hpp +148 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp +102 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp +293 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp +554 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/greater.hpp +102 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp +102 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp +166 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp +293 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp +229 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/less.hpp +102 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp +102 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/list.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp +534 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/map.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/minus.hpp +148 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp +115 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp +102 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/or.hpp +73 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/plus.hpp +148 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/quote.hpp +11 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp +343 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp +343 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/set.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp +534 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp +114 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp +114 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp +46 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/times.hpp +148 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp +109 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/vector.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp +534 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/and.hpp +71 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/apply.hpp +160 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp +46 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp +138 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/arg.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/bind.hpp +432 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp +46 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp +151 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp +151 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp +151 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/deque.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/divides.hpp +150 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp +102 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp +245 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp +554 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/greater.hpp +102 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp +102 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp +166 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp +245 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp +229 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/less.hpp +102 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp +102 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/list.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp +534 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/map.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/minus.hpp +150 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp +115 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp +102 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/or.hpp +71 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/plus.hpp +150 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/quote.hpp +116 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp +295 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp +295 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/set.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp +534 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp +114 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp +114 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp +46 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/times.hpp +150 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp +109 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/vector.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp +534 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/and.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/apply.hpp +169 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp +456 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/arg.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp +440 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/bind.hpp +561 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp +147 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/deque.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/divides.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp +554 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/greater.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp +141 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp +229 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/less.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/list.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/map.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/minus.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp +101 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/or.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/plus.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/quote.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp +231 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp +231 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/set.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp +99 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp +99 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp +11 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/times.hpp +146 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/vector.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp +309 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/and.hpp +73 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp +268 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp +50 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp +78 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp +486 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp +590 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp +134 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp +134 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp +134 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp +245 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp +554 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp +166 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp +245 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp +229 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/less.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/list.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp +534 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/map.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp +101 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/or.hpp +73 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp +116 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp +295 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp +295 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/set.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp +534 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp +99 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp +99 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp +40 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/times.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp +109 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp +556 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp +534 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/and.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp +169 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp +84 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp +369 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp +466 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp +157 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp +157 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp +157 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp +156 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp +98 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp +554 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp +98 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp +98 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp +141 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp +229 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/less.hpp +98 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp +98 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/list.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/map.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp +156 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp +111 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp +98 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/or.hpp +69 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp +156 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp +11 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp +231 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp +231 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/set.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp +110 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp +110 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp +40 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/times.hpp +156 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp +309 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/and.hpp +64 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/apply.hpp +139 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp +84 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/arg.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp +440 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/bind.hpp +561 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp +52 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/bitand.hpp +142 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/bitor.hpp +142 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/bitxor.hpp +142 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/deque.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/divides.hpp +141 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/equal_to.hpp +92 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp +554 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/greater.hpp +92 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp +92 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/inherit.hpp +125 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp +133 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp +180 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp +228 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/less.hpp +92 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/less_equal.hpp +92 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/list.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/list_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/map.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/minus.hpp +141 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/modulus.hpp +99 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp +92 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/or.hpp +64 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/placeholders.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/plus.hpp +141 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/quote.hpp +123 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp +231 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp +231 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/set.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/set_c.hpp +328 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/shift_left.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/shift_right.hpp +97 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/template_arity.hpp +11 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/times.hpp +141 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp +94 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/vector.hpp +323 -0
- data/ext/boost/mpl/aux_/preprocessed/plain/vector_c.hpp +309 -0
- data/ext/boost/mpl/aux_/preprocessor/add.hpp +65 -0
- data/ext/boost/mpl/aux_/preprocessor/def_params_tail.hpp +105 -0
- data/ext/boost/mpl/aux_/preprocessor/default_params.hpp +67 -0
- data/ext/boost/mpl/aux_/preprocessor/enum.hpp +62 -0
- data/ext/boost/mpl/aux_/preprocessor/ext_params.hpp +78 -0
- data/ext/boost/mpl/aux_/preprocessor/filter_params.hpp +28 -0
- data/ext/boost/mpl/aux_/preprocessor/is_seq.hpp +54 -0
- data/ext/boost/mpl/aux_/preprocessor/params.hpp +65 -0
- data/ext/boost/mpl/aux_/preprocessor/partial_spec_params.hpp +32 -0
- data/ext/boost/mpl/aux_/preprocessor/range.hpp +23 -0
- data/ext/boost/mpl/aux_/preprocessor/repeat.hpp +51 -0
- data/ext/boost/mpl/aux_/preprocessor/sub.hpp +65 -0
- data/ext/boost/mpl/aux_/preprocessor/token_equal.hpp +56 -0
- data/ext/boost/mpl/aux_/preprocessor/tuple.hpp +29 -0
- data/ext/boost/mpl/aux_/ptr_to_ref.hpp +46 -0
- data/ext/boost/mpl/aux_/push_back_impl.hpp +55 -0
- data/ext/boost/mpl/aux_/push_front_impl.hpp +56 -0
- data/ext/boost/mpl/aux_/range_c/O1_size.hpp +31 -0
- data/ext/boost/mpl/aux_/range_c/back.hpp +34 -0
- data/ext/boost/mpl/aux_/range_c/empty.hpp +37 -0
- data/ext/boost/mpl/aux_/range_c/front.hpp +33 -0
- data/ext/boost/mpl/aux_/range_c/iterator.hpp +106 -0
- data/ext/boost/mpl/aux_/range_c/size.hpp +37 -0
- data/ext/boost/mpl/aux_/range_c/tag.hpp +24 -0
- data/ext/boost/mpl/aux_/reverse_fold_impl.hpp +44 -0
- data/ext/boost/mpl/aux_/reverse_fold_impl_body.hpp +412 -0
- data/ext/boost/mpl/aux_/reverse_iter_fold_impl.hpp +43 -0
- data/ext/boost/mpl/aux_/sequence_wrapper.hpp +292 -0
- data/ext/boost/mpl/aux_/shift_op.hpp +87 -0
- data/ext/boost/mpl/aux_/single_element_iter.hpp +118 -0
- data/ext/boost/mpl/aux_/size_impl.hpp +52 -0
- data/ext/boost/mpl/aux_/sort_impl.hpp +121 -0
- data/ext/boost/mpl/aux_/static_cast.hpp +27 -0
- data/ext/boost/mpl/aux_/template_arity.hpp +189 -0
- data/ext/boost/mpl/aux_/template_arity_fwd.hpp +23 -0
- data/ext/boost/mpl/aux_/test.hpp +32 -0
- data/ext/boost/mpl/aux_/test/assert.hpp +29 -0
- data/ext/boost/mpl/aux_/test/data.hpp +25 -0
- data/ext/boost/mpl/aux_/test/test_case.hpp +21 -0
- data/ext/boost/mpl/aux_/traits_lambda_spec.hpp +56 -0
- data/ext/boost/mpl/aux_/transform_iter.hpp +123 -0
- data/ext/boost/mpl/aux_/type_wrapper.hpp +47 -0
- data/ext/boost/mpl/aux_/unwrap.hpp +47 -0
- data/ext/boost/mpl/aux_/value_wknd.hpp +89 -0
- data/ext/boost/mpl/aux_/yes_no.hpp +58 -0
- data/ext/boost/mpl/back.hpp +39 -0
- data/ext/boost/mpl/back_fwd.hpp +24 -0
- data/ext/boost/mpl/back_inserter.hpp +34 -0
- data/ext/boost/mpl/base.hpp +35 -0
- data/ext/boost/mpl/begin.hpp +19 -0
- data/ext/boost/mpl/begin_end.hpp +57 -0
- data/ext/boost/mpl/begin_end_fwd.hpp +27 -0
- data/ext/boost/mpl/bind.hpp +547 -0
- data/ext/boost/mpl/bind_fwd.hpp +99 -0
- data/ext/boost/mpl/bitand.hpp +23 -0
- data/ext/boost/mpl/bitor.hpp +23 -0
- data/ext/boost/mpl/bitwise.hpp +24 -0
- data/ext/boost/mpl/bitxor.hpp +23 -0
- data/ext/boost/mpl/bool.hpp +39 -0
- data/ext/boost/mpl/bool_fwd.hpp +33 -0
- data/ext/boost/mpl/clear.hpp +39 -0
- data/ext/boost/mpl/clear_fwd.hpp +24 -0
- data/ext/boost/mpl/comparison.hpp +24 -0
- data/ext/boost/mpl/contains.hpp +41 -0
- data/ext/boost/mpl/contains_fwd.hpp +25 -0
- data/ext/boost/mpl/copy.hpp +58 -0
- data/ext/boost/mpl/copy_if.hpp +96 -0
- data/ext/boost/mpl/count.hpp +40 -0
- data/ext/boost/mpl/count_fwd.hpp +24 -0
- data/ext/boost/mpl/count_if.hpp +79 -0
- data/ext/boost/mpl/deque.hpp +58 -0
- data/ext/boost/mpl/deref.hpp +41 -0
- data/ext/boost/mpl/distance.hpp +78 -0
- data/ext/boost/mpl/distance_fwd.hpp +28 -0
- data/ext/boost/mpl/divides.hpp +21 -0
- data/ext/boost/mpl/empty.hpp +39 -0
- data/ext/boost/mpl/empty_base.hpp +59 -0
- data/ext/boost/mpl/empty_fwd.hpp +24 -0
- data/ext/boost/mpl/empty_sequence.hpp +42 -0
- data/ext/boost/mpl/end.hpp +19 -0
- data/ext/boost/mpl/equal.hpp +112 -0
- data/ext/boost/mpl/equal_to.hpp +21 -0
- data/ext/boost/mpl/erase.hpp +42 -0
- data/ext/boost/mpl/erase_fwd.hpp +24 -0
- data/ext/boost/mpl/erase_key.hpp +41 -0
- data/ext/boost/mpl/erase_key_fwd.hpp +24 -0
- data/ext/boost/mpl/eval_if.hpp +71 -0
- data/ext/boost/mpl/filter_view.hpp +46 -0
- data/ext/boost/mpl/find.hpp +38 -0
- data/ext/boost/mpl/find_if.hpp +50 -0
- data/ext/boost/mpl/fold.hpp +48 -0
- data/ext/boost/mpl/for_each.hpp +112 -0
- data/ext/boost/mpl/front.hpp +39 -0
- data/ext/boost/mpl/front_fwd.hpp +24 -0
- data/ext/boost/mpl/front_inserter.hpp +33 -0
- data/ext/boost/mpl/greater.hpp +21 -0
- data/ext/boost/mpl/greater_equal.hpp +21 -0
- data/ext/boost/mpl/has_key.hpp +41 -0
- data/ext/boost/mpl/has_key_fwd.hpp +25 -0
- data/ext/boost/mpl/has_xxx.hpp +233 -0
- data/ext/boost/mpl/identity.hpp +45 -0
- data/ext/boost/mpl/if.hpp +135 -0
- data/ext/boost/mpl/index_if.hpp +60 -0
- data/ext/boost/mpl/index_of.hpp +39 -0
- data/ext/boost/mpl/inherit.hpp +229 -0
- data/ext/boost/mpl/inherit_linearly.hpp +39 -0
- data/ext/boost/mpl/insert.hpp +41 -0
- data/ext/boost/mpl/insert_fwd.hpp +24 -0
- data/ext/boost/mpl/insert_range.hpp +41 -0
- data/ext/boost/mpl/insert_range_fwd.hpp +24 -0
- data/ext/boost/mpl/inserter.hpp +32 -0
- data/ext/boost/mpl/int.hpp +22 -0
- data/ext/boost/mpl/int_fwd.hpp +27 -0
- data/ext/boost/mpl/integral_c.hpp +51 -0
- data/ext/boost/mpl/integral_c_fwd.hpp +32 -0
- data/ext/boost/mpl/integral_c_tag.hpp +26 -0
- data/ext/boost/mpl/is_placeholder.hpp +67 -0
- data/ext/boost/mpl/is_sequence.hpp +112 -0
- data/ext/boost/mpl/iter_fold.hpp +49 -0
- data/ext/boost/mpl/iter_fold_if.hpp +117 -0
- data/ext/boost/mpl/iterator_category.hpp +35 -0
- data/ext/boost/mpl/iterator_range.hpp +42 -0
- data/ext/boost/mpl/iterator_tags.hpp +27 -0
- data/ext/boost/mpl/joint_view.hpp +65 -0
- data/ext/boost/mpl/key_type.hpp +42 -0
- data/ext/boost/mpl/key_type_fwd.hpp +25 -0
- data/ext/boost/mpl/lambda.hpp +29 -0
- data/ext/boost/mpl/lambda_fwd.hpp +57 -0
- data/ext/boost/mpl/less.hpp +21 -0
- data/ext/boost/mpl/less_equal.hpp +21 -0
- data/ext/boost/mpl/limits/arity.hpp +21 -0
- data/ext/boost/mpl/limits/list.hpp +21 -0
- data/ext/boost/mpl/limits/map.hpp +21 -0
- data/ext/boost/mpl/limits/set.hpp +21 -0
- data/ext/boost/mpl/limits/unrolling.hpp +21 -0
- data/ext/boost/mpl/limits/vector.hpp +21 -0
- data/ext/boost/mpl/list.hpp +57 -0
- data/ext/boost/mpl/list/aux_/O1_size.hpp +33 -0
- data/ext/boost/mpl/list/aux_/begin_end.hpp +44 -0
- data/ext/boost/mpl/list/aux_/clear.hpp +34 -0
- data/ext/boost/mpl/list/aux_/empty.hpp +34 -0
- data/ext/boost/mpl/list/aux_/front.hpp +33 -0
- data/ext/boost/mpl/list/aux_/include_preprocessed.hpp +35 -0
- data/ext/boost/mpl/list/aux_/item.hpp +55 -0
- data/ext/boost/mpl/list/aux_/iterator.hpp +76 -0
- data/ext/boost/mpl/list/aux_/numbered.hpp +68 -0
- data/ext/boost/mpl/list/aux_/numbered_c.hpp +71 -0
- data/ext/boost/mpl/list/aux_/pop_front.hpp +34 -0
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list10.hpp +149 -0
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp +164 -0
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list20.hpp +169 -0
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp +173 -0
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list30.hpp +189 -0
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp +183 -0
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list40.hpp +209 -0
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp +193 -0
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list50.hpp +229 -0
- data/ext/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp +203 -0
- data/ext/boost/mpl/list/aux_/push_back.hpp +36 -0
- data/ext/boost/mpl/list/aux_/push_front.hpp +39 -0
- data/ext/boost/mpl/list/aux_/size.hpp +33 -0
- data/ext/boost/mpl/list/aux_/tag.hpp +24 -0
- data/ext/boost/mpl/list/list0.hpp +42 -0
- data/ext/boost/mpl/list/list0_c.hpp +31 -0
- data/ext/boost/mpl/list/list10.hpp +43 -0
- data/ext/boost/mpl/list/list10_c.hpp +43 -0
- data/ext/boost/mpl/list/list20.hpp +43 -0
- data/ext/boost/mpl/list/list20_c.hpp +43 -0
- data/ext/boost/mpl/list/list30.hpp +43 -0
- data/ext/boost/mpl/list/list30_c.hpp +43 -0
- data/ext/boost/mpl/list/list40.hpp +43 -0
- data/ext/boost/mpl/list/list40_c.hpp +43 -0
- data/ext/boost/mpl/list/list50.hpp +43 -0
- data/ext/boost/mpl/list/list50_c.hpp +43 -0
- data/ext/boost/mpl/list_c.hpp +60 -0
- data/ext/boost/mpl/logical.hpp +21 -0
- data/ext/boost/mpl/long.hpp +22 -0
- data/ext/boost/mpl/long_fwd.hpp +27 -0
- data/ext/boost/mpl/lower_bound.hpp +143 -0
- data/ext/boost/mpl/map.hpp +57 -0
- data/ext/boost/mpl/map/aux_/at_impl.hpp +144 -0
- data/ext/boost/mpl/map/aux_/begin_end_impl.hpp +50 -0
- data/ext/boost/mpl/map/aux_/clear_impl.hpp +35 -0
- data/ext/boost/mpl/map/aux_/contains_impl.hpp +43 -0
- data/ext/boost/mpl/map/aux_/empty_impl.hpp +34 -0
- data/ext/boost/mpl/map/aux_/erase_impl.hpp +41 -0
- data/ext/boost/mpl/map/aux_/erase_key_impl.hpp +53 -0
- data/ext/boost/mpl/map/aux_/has_key_impl.hpp +44 -0
- data/ext/boost/mpl/map/aux_/include_preprocessed.hpp +53 -0
- data/ext/boost/mpl/map/aux_/insert_impl.hpp +72 -0
- data/ext/boost/mpl/map/aux_/item.hpp +138 -0
- data/ext/boost/mpl/map/aux_/iterator.hpp +169 -0
- data/ext/boost/mpl/map/aux_/key_type_impl.hpp +36 -0
- data/ext/boost/mpl/map/aux_/map0.hpp +74 -0
- data/ext/boost/mpl/map/aux_/numbered.hpp +110 -0
- data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp +350 -0
- data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp +370 -0
- data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp +390 -0
- data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp +410 -0
- data/ext/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp +430 -0
- data/ext/boost/mpl/map/aux_/preprocessed/plain/map10.hpp +290 -0
- data/ext/boost/mpl/map/aux_/preprocessed/plain/map20.hpp +310 -0
- data/ext/boost/mpl/map/aux_/preprocessed/plain/map30.hpp +330 -0
- data/ext/boost/mpl/map/aux_/preprocessed/plain/map40.hpp +350 -0
- data/ext/boost/mpl/map/aux_/preprocessed/plain/map50.hpp +370 -0
- data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp +150 -0
- data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp +170 -0
- data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp +190 -0
- data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp +210 -0
- data/ext/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp +230 -0
- data/ext/boost/mpl/map/aux_/size_impl.hpp +33 -0
- data/ext/boost/mpl/map/aux_/tag.hpp +24 -0
- data/ext/boost/mpl/map/aux_/value_type_impl.hpp +36 -0
- data/ext/boost/mpl/map/map0.hpp +36 -0
- data/ext/boost/mpl/map/map10.hpp +44 -0
- data/ext/boost/mpl/map/map20.hpp +44 -0
- data/ext/boost/mpl/map/map30.hpp +44 -0
- data/ext/boost/mpl/map/map40.hpp +44 -0
- data/ext/boost/mpl/map/map50.hpp +44 -0
- data/ext/boost/mpl/math/fixed_c.hpp +36 -0
- data/ext/boost/mpl/math/is_even.hpp +54 -0
- data/ext/boost/mpl/math/rational_c.hpp +37 -0
- data/ext/boost/mpl/max.hpp +19 -0
- data/ext/boost/mpl/max_element.hpp +72 -0
- data/ext/boost/mpl/min.hpp +19 -0
- data/ext/boost/mpl/min_element.hpp +40 -0
- data/ext/boost/mpl/min_max.hpp +46 -0
- data/ext/boost/mpl/minus.hpp +21 -0
- data/ext/boost/mpl/modulus.hpp +22 -0
- data/ext/boost/mpl/multiplies.hpp +53 -0
- data/ext/boost/mpl/multiset/aux_/count_impl.hpp +82 -0
- data/ext/boost/mpl/multiset/aux_/insert_impl.hpp +34 -0
- data/ext/boost/mpl/multiset/aux_/item.hpp +114 -0
- data/ext/boost/mpl/multiset/aux_/multiset0.hpp +34 -0
- data/ext/boost/mpl/multiset/aux_/tag.hpp +23 -0
- data/ext/boost/mpl/multiset/multiset0.hpp +36 -0
- data/ext/boost/mpl/negate.hpp +81 -0
- data/ext/boost/mpl/next.hpp +19 -0
- data/ext/boost/mpl/next_prior.hpp +49 -0
- data/ext/boost/mpl/not.hpp +51 -0
- data/ext/boost/mpl/not_equal_to.hpp +21 -0
- data/ext/boost/mpl/numeric_cast.hpp +41 -0
- data/ext/boost/mpl/or.hpp +57 -0
- data/ext/boost/mpl/order.hpp +41 -0
- data/ext/boost/mpl/order_fwd.hpp +25 -0
- data/ext/boost/mpl/pair.hpp +70 -0
- data/ext/boost/mpl/pair_view.hpp +169 -0
- data/ext/boost/mpl/partition.hpp +53 -0
- data/ext/boost/mpl/placeholders.hpp +100 -0
- data/ext/boost/mpl/plus.hpp +21 -0
- data/ext/boost/mpl/pop_back.hpp +39 -0
- data/ext/boost/mpl/pop_back_fwd.hpp +24 -0
- data/ext/boost/mpl/pop_front.hpp +39 -0
- data/ext/boost/mpl/pop_front_fwd.hpp +24 -0
- data/ext/boost/mpl/print.hpp +74 -0
- data/ext/boost/mpl/prior.hpp +19 -0
- data/ext/boost/mpl/protect.hpp +55 -0
- data/ext/boost/mpl/push_back.hpp +53 -0
- data/ext/boost/mpl/push_back_fwd.hpp +24 -0
- data/ext/boost/mpl/push_front.hpp +52 -0
- data/ext/boost/mpl/push_front_fwd.hpp +24 -0
- data/ext/boost/mpl/quote.hpp +140 -0
- data/ext/boost/mpl/range_c.hpp +48 -0
- data/ext/boost/mpl/remove.hpp +52 -0
- data/ext/boost/mpl/remove_if.hpp +83 -0
- data/ext/boost/mpl/replace.hpp +55 -0
- data/ext/boost/mpl/replace_if.hpp +88 -0
- data/ext/boost/mpl/reverse.hpp +38 -0
- data/ext/boost/mpl/reverse_fold.hpp +50 -0
- data/ext/boost/mpl/reverse_iter_fold.hpp +56 -0
- data/ext/boost/mpl/same_as.hpp +55 -0
- data/ext/boost/mpl/sequence_tag.hpp +124 -0
- data/ext/boost/mpl/sequence_tag_fwd.hpp +26 -0
- data/ext/boost/mpl/set.hpp +57 -0
- data/ext/boost/mpl/set/aux_/at_impl.hpp +40 -0
- data/ext/boost/mpl/set/aux_/begin_end_impl.hpp +43 -0
- data/ext/boost/mpl/set/aux_/clear_impl.hpp +35 -0
- data/ext/boost/mpl/set/aux_/empty_impl.hpp +34 -0
- data/ext/boost/mpl/set/aux_/erase_impl.hpp +41 -0
- data/ext/boost/mpl/set/aux_/erase_key_impl.hpp +53 -0
- data/ext/boost/mpl/set/aux_/has_key_impl.hpp +60 -0
- data/ext/boost/mpl/set/aux_/include_preprocessed.hpp +42 -0
- data/ext/boost/mpl/set/aux_/insert_impl.hpp +65 -0
- data/ext/boost/mpl/set/aux_/item.hpp +82 -0
- data/ext/boost/mpl/set/aux_/iterator.hpp +97 -0
- data/ext/boost/mpl/set/aux_/key_type_impl.hpp +34 -0
- data/ext/boost/mpl/set/aux_/numbered.hpp +48 -0
- data/ext/boost/mpl/set/aux_/numbered_c.hpp +48 -0
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set10.hpp +140 -0
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp +145 -0
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set20.hpp +168 -0
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp +154 -0
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set30.hpp +195 -0
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp +164 -0
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set40.hpp +221 -0
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp +174 -0
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set50.hpp +250 -0
- data/ext/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp +184 -0
- data/ext/boost/mpl/set/aux_/set0.hpp +69 -0
- data/ext/boost/mpl/set/aux_/size_impl.hpp +33 -0
- data/ext/boost/mpl/set/aux_/tag.hpp +24 -0
- data/ext/boost/mpl/set/aux_/value_type_impl.hpp +34 -0
- data/ext/boost/mpl/set/set0.hpp +35 -0
- data/ext/boost/mpl/set/set0_c.hpp +32 -0
- data/ext/boost/mpl/set/set10.hpp +44 -0
- data/ext/boost/mpl/set/set10_c.hpp +45 -0
- data/ext/boost/mpl/set/set20.hpp +44 -0
- data/ext/boost/mpl/set/set20_c.hpp +45 -0
- data/ext/boost/mpl/set/set30.hpp +44 -0
- data/ext/boost/mpl/set/set30_c.hpp +45 -0
- data/ext/boost/mpl/set/set40.hpp +44 -0
- data/ext/boost/mpl/set/set40_c.hpp +45 -0
- data/ext/boost/mpl/set/set50.hpp +44 -0
- data/ext/boost/mpl/set/set50_c.hpp +45 -0
- data/ext/boost/mpl/set_c.hpp +60 -0
- data/ext/boost/mpl/shift_left.hpp +22 -0
- data/ext/boost/mpl/shift_right.hpp +22 -0
- data/ext/boost/mpl/single_view.hpp +38 -0
- data/ext/boost/mpl/size.hpp +42 -0
- data/ext/boost/mpl/size_fwd.hpp +24 -0
- data/ext/boost/mpl/size_t.hpp +25 -0
- data/ext/boost/mpl/size_t_fwd.hpp +28 -0
- data/ext/boost/mpl/sizeof.hpp +36 -0
- data/ext/boost/mpl/sort.hpp +27 -0
- data/ext/boost/mpl/stable_partition.hpp +75 -0
- data/ext/boost/mpl/switch.hpp +49 -0
- data/ext/boost/mpl/tag.hpp +52 -0
- data/ext/boost/mpl/times.hpp +21 -0
- data/ext/boost/mpl/transform.hpp +145 -0
- data/ext/boost/mpl/transform_view.hpp +46 -0
- data/ext/boost/mpl/unique.hpp +85 -0
- data/ext/boost/mpl/unpack_args.hpp +146 -0
- data/ext/boost/mpl/upper_bound.hpp +141 -0
- data/ext/boost/mpl/value_type.hpp +42 -0
- data/ext/boost/mpl/value_type_fwd.hpp +25 -0
- data/ext/boost/mpl/vector.hpp +57 -0
- data/ext/boost/mpl/vector/aux_/O1_size.hpp +56 -0
- data/ext/boost/mpl/vector/aux_/at.hpp +116 -0
- data/ext/boost/mpl/vector/aux_/back.hpp +59 -0
- data/ext/boost/mpl/vector/aux_/begin_end.hpp +49 -0
- data/ext/boost/mpl/vector/aux_/clear.hpp +55 -0
- data/ext/boost/mpl/vector/aux_/empty.hpp +68 -0
- data/ext/boost/mpl/vector/aux_/front.hpp +56 -0
- data/ext/boost/mpl/vector/aux_/include_preprocessed.hpp +55 -0
- data/ext/boost/mpl/vector/aux_/item.hpp +103 -0
- data/ext/boost/mpl/vector/aux_/iterator.hpp +130 -0
- data/ext/boost/mpl/vector/aux_/numbered.hpp +218 -0
- data/ext/boost/mpl/vector/aux_/numbered_c.hpp +77 -0
- data/ext/boost/mpl/vector/aux_/pop_back.hpp +40 -0
- data/ext/boost/mpl/vector/aux_/pop_front.hpp +40 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp +1528 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp +149 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp +1804 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp +195 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp +2124 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp +238 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp +2444 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp +281 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp +2764 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp +325 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp +829 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp +149 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp +1144 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp +195 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp +1464 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp +238 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp +1784 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp +281 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp +2104 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp +325 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp +139 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp +154 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp +159 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp +163 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp +179 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp +173 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp +199 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp +183 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp +219 -0
- data/ext/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp +193 -0
- data/ext/boost/mpl/vector/aux_/push_back.hpp +40 -0
- data/ext/boost/mpl/vector/aux_/push_front.hpp +40 -0
- data/ext/boost/mpl/vector/aux_/size.hpp +49 -0
- data/ext/boost/mpl/vector/aux_/tag.hpp +32 -0
- data/ext/boost/mpl/vector/aux_/vector0.hpp +52 -0
- data/ext/boost/mpl/vector/vector0.hpp +34 -0
- data/ext/boost/mpl/vector/vector0_c.hpp +31 -0
- data/ext/boost/mpl/vector/vector10.hpp +45 -0
- data/ext/boost/mpl/vector/vector10_c.hpp +46 -0
- data/ext/boost/mpl/vector/vector20.hpp +45 -0
- data/ext/boost/mpl/vector/vector20_c.hpp +46 -0
- data/ext/boost/mpl/vector/vector30.hpp +45 -0
- data/ext/boost/mpl/vector/vector30_c.hpp +47 -0
- data/ext/boost/mpl/vector/vector40.hpp +45 -0
- data/ext/boost/mpl/vector/vector40_c.hpp +46 -0
- data/ext/boost/mpl/vector/vector50.hpp +45 -0
- data/ext/boost/mpl/vector/vector50_c.hpp +46 -0
- data/ext/boost/mpl/vector_c.hpp +60 -0
- data/ext/boost/mpl/void.hpp +76 -0
- data/ext/boost/mpl/void_fwd.hpp +26 -0
- data/ext/boost/mpl/zip_view.hpp +64 -0
- data/ext/boost/next_prior.hpp +51 -0
- data/ext/boost/noncopyable.hpp +36 -0
- data/ext/boost/none.hpp +43 -0
- data/ext/boost/optional.hpp +18 -0
- data/ext/boost/optional/optional.hpp +922 -0
- data/ext/boost/optional/optional_fwd.hpp +22 -0
- data/ext/boost/optional/optional_io.hpp +84 -0
- data/ext/boost/preprocessor/arithmetic.hpp +25 -0
- data/ext/boost/preprocessor/arithmetic/add.hpp +51 -0
- data/ext/boost/preprocessor/arithmetic/dec.hpp +288 -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/inc.hpp +288 -0
- data/ext/boost/preprocessor/arithmetic/mod.hpp +39 -0
- data/ext/boost/preprocessor/arithmetic/mul.hpp +53 -0
- data/ext/boost/preprocessor/arithmetic/sub.hpp +50 -0
- data/ext/boost/preprocessor/array.hpp +27 -0
- data/ext/boost/preprocessor/array/data.hpp +28 -0
- data/ext/boost/preprocessor/array/elem.hpp +29 -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/size.hpp +28 -0
- data/ext/boost/preprocessor/assert_msg.hpp +17 -0
- data/ext/boost/preprocessor/cat.hpp +35 -0
- data/ext/boost/preprocessor/comma.hpp +17 -0
- data/ext/boost/preprocessor/comma_if.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/config.hpp +70 -0
- data/ext/boost/preprocessor/config/limits.hpp +29 -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/detail/while.hpp +536 -0
- data/ext/boost/preprocessor/control/expr_if.hpp +30 -0
- data/ext/boost/preprocessor/control/expr_iif.hpp +31 -0
- data/ext/boost/preprocessor/control/if.hpp +30 -0
- data/ext/boost/preprocessor/control/iif.hpp +34 -0
- data/ext/boost/preprocessor/control/while.hpp +312 -0
- data/ext/boost/preprocessor/debug.hpp +18 -0
- data/ext/boost/preprocessor/debug/assert.hpp +44 -0
- data/ext/boost/preprocessor/debug/error.hpp +33 -0
- data/ext/boost/preprocessor/debug/line.hpp +35 -0
- data/ext/boost/preprocessor/dec.hpp +17 -0
- data/ext/boost/preprocessor/detail/auto_rec.hpp +293 -0
- data/ext/boost/preprocessor/detail/check.hpp +48 -0
- data/ext/boost/preprocessor/detail/dmc/auto_rec.hpp +286 -0
- data/ext/boost/preprocessor/detail/is_binary.hpp +30 -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/empty.hpp +17 -0
- data/ext/boost/preprocessor/enum.hpp +17 -0
- data/ext/boost/preprocessor/enum_params.hpp +17 -0
- data/ext/boost/preprocessor/enum_params_with_a_default.hpp +17 -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/enum_shifted_params.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 +21 -0
- data/ext/boost/preprocessor/facilities/apply.hpp +34 -0
- data/ext/boost/preprocessor/facilities/empty.hpp +21 -0
- data/ext/boost/preprocessor/facilities/expand.hpp +28 -0
- data/ext/boost/preprocessor/facilities/identity.hpp +23 -0
- data/ext/boost/preprocessor/facilities/intercept.hpp +277 -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/identity.hpp +17 -0
- data/ext/boost/preprocessor/if.hpp +17 -0
- data/ext/boost/preprocessor/inc.hpp +17 -0
- data/ext/boost/preprocessor/iterate.hpp +17 -0
- data/ext/boost/preprocessor/iteration.hpp +19 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/lower1.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/lower2.hpp +99 -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/upper1.hpp +99 -0
- data/ext/boost/preprocessor/iteration/detail/bounds/upper2.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/forward1.hpp +1342 -0
- data/ext/boost/preprocessor/iteration/detail/iter/forward2.hpp +1338 -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/reverse1.hpp +1296 -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/iterate.hpp +82 -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 +34 -0
- data/ext/boost/preprocessor/limits.hpp +17 -0
- data/ext/boost/preprocessor/list.hpp +35 -0
- data/ext/boost/preprocessor/list/adt.hpp +73 -0
- data/ext/boost/preprocessor/list/append.hpp +40 -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/detail/fold_left.hpp +279 -0
- data/ext/boost/preprocessor/list/detail/fold_right.hpp +277 -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/fold_left.hpp +303 -0
- data/ext/boost/preprocessor/list/fold_right.hpp +40 -0
- data/ext/boost/preprocessor/list/for_each.hpp +49 -0
- data/ext/boost/preprocessor/list/for_each_i.hpp +65 -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/reverse.hpp +40 -0
- data/ext/boost/preprocessor/list/size.hpp +58 -0
- data/ext/boost/preprocessor/list/to_tuple.hpp +38 -0
- data/ext/boost/preprocessor/list/transform.hpp +49 -0
- data/ext/boost/preprocessor/logical.hpp +29 -0
- data/ext/boost/preprocessor/logical/and.hpp +30 -0
- data/ext/boost/preprocessor/logical/bitand.hpp +38 -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/bool.hpp +288 -0
- data/ext/boost/preprocessor/logical/compl.hpp +36 -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/comma.hpp +21 -0
- data/ext/boost/preprocessor/punctuation/comma_if.hpp +31 -0
- data/ext/boost/preprocessor/punctuation/paren.hpp +23 -0
- data/ext/boost/preprocessor/punctuation/paren_if.hpp +38 -0
- data/ext/boost/preprocessor/repeat.hpp +17 -0
- data/ext/boost/preprocessor/repeat_2nd.hpp +17 -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/for.hpp +536 -0
- data/ext/boost/preprocessor/repetition/detail/msvc/for.hpp +277 -0
- data/ext/boost/preprocessor/repetition/enum.hpp +66 -0
- data/ext/boost/preprocessor/repetition/enum_binary_params.hpp +54 -0
- data/ext/boost/preprocessor/repetition/enum_params.hpp +41 -0
- data/ext/boost/preprocessor/repetition/enum_params_with_a_default.hpp +25 -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_shifted_params.hpp +44 -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/repetition/enum_trailing_params.hpp +38 -0
- data/ext/boost/preprocessor/repetition/for.hpp +306 -0
- data/ext/boost/preprocessor/repetition/repeat.hpp +825 -0
- data/ext/boost/preprocessor/repetition/repeat_from_to.hpp +87 -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 +41 -0
- data/ext/boost/preprocessor/seq/cat.hpp +48 -0
- data/ext/boost/preprocessor/seq/detail/split.hpp +284 -0
- data/ext/boost/preprocessor/seq/elem.hpp +304 -0
- data/ext/boost/preprocessor/seq/enum.hpp +288 -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_i.hpp +61 -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/seq.hpp +44 -0
- data/ext/boost/preprocessor/seq/size.hpp +548 -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_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/def.hpp +49 -0
- data/ext/boost/preprocessor/slot/detail/shared.hpp +247 -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/slot/slot.hpp +32 -0
- data/ext/boost/preprocessor/stringize.hpp +33 -0
- data/ext/boost/preprocessor/tuple.hpp +24 -0
- data/ext/boost/preprocessor/tuple/eat.hpp +57 -0
- data/ext/boost/preprocessor/tuple/elem.hpp +385 -0
- data/ext/boost/preprocessor/tuple/rem.hpp +72 -0
- data/ext/boost/preprocessor/tuple/reverse.hpp +62 -0
- data/ext/boost/preprocessor/tuple/to_list.hpp +62 -0
- data/ext/boost/preprocessor/tuple/to_seq.hpp +60 -0
- data/ext/boost/preprocessor/while.hpp +17 -0
- data/ext/boost/preprocessor/wstringize.hpp +29 -0
- data/ext/boost/ref.hpp +178 -0
- data/ext/boost/shared_ptr.hpp +558 -0
- data/ext/boost/src/barrier.cpp +42 -0
- data/ext/boost/src/condition.cpp +692 -0
- data/ext/boost/src/exceptions.cpp +147 -0
- data/ext/boost/src/mutex.cpp +561 -0
- data/ext/boost/src/mutex.inl +128 -0
- data/ext/boost/src/once.cpp +213 -0
- data/ext/boost/src/recursive_mutex.cpp +1040 -0
- data/ext/boost/src/thread.cpp +371 -0
- data/ext/boost/src/timeconv.inl +130 -0
- data/ext/boost/src/tss.cpp +251 -0
- data/ext/boost/src/tss_dll.cpp +72 -0
- data/ext/boost/src/tss_hooks.cpp +212 -0
- data/ext/boost/src/tss_null.cpp +33 -0
- data/ext/boost/src/tss_pe.cpp +179 -0
- data/ext/boost/src/xtime.cpp +158 -0
- data/ext/boost/static_assert.hpp +118 -0
- data/ext/boost/thread.hpp +19 -0
- data/ext/boost/thread/barrier.hpp +44 -0
- data/ext/boost/thread/condition.hpp +201 -0
- data/ext/boost/thread/detail/config.hpp +95 -0
- data/ext/boost/thread/detail/force_cast.hpp +39 -0
- data/ext/boost/thread/detail/lock.hpp +209 -0
- data/ext/boost/thread/detail/read_write_lock.hpp +1106 -0
- data/ext/boost/thread/detail/singleton.hpp +59 -0
- data/ext/boost/thread/detail/tss_hooks.hpp +78 -0
- data/ext/boost/thread/exceptions.hpp +97 -0
- data/ext/boost/thread/mutex.hpp +170 -0
- data/ext/boost/thread/once.hpp +37 -0
- data/ext/boost/thread/recursive_mutex.hpp +184 -0
- data/ext/boost/thread/thread.hpp +90 -0
- data/ext/boost/thread/tss.hpp +128 -0
- data/ext/boost/thread/xtime.hpp +54 -0
- data/ext/boost/throw_exception.hpp +46 -0
- data/ext/boost/type.hpp +18 -0
- data/ext/boost/type_traits/add_const.hpp +47 -0
- data/ext/boost/type_traits/add_cv.hpp +48 -0
- data/ext/boost/type_traits/add_pointer.hpp +72 -0
- data/ext/boost/type_traits/add_reference.hpp +89 -0
- data/ext/boost/type_traits/add_volatile.hpp +47 -0
- data/ext/boost/type_traits/aligned_storage.hpp +13 -0
- data/ext/boost/type_traits/alignment_of.hpp +100 -0
- data/ext/boost/type_traits/alignment_traits.hpp +15 -0
- data/ext/boost/type_traits/arithmetic_traits.hpp +20 -0
- data/ext/boost/type_traits/array_traits.hpp +15 -0
- data/ext/boost/type_traits/broken_compiler_spec.hpp +117 -0
- data/ext/boost/type_traits/composite_traits.hpp +29 -0
- data/ext/boost/type_traits/config.hpp +76 -0
- data/ext/boost/type_traits/conversion_traits.hpp +17 -0
- data/ext/boost/type_traits/cv_traits.hpp +24 -0
- data/ext/boost/type_traits/decay.hpp +44 -0
- data/ext/boost/type_traits/detail/bool_trait_def.hpp +173 -0
- data/ext/boost/type_traits/detail/bool_trait_undef.hpp +27 -0
- data/ext/boost/type_traits/detail/cv_traits_impl.hpp +97 -0
- data/ext/boost/type_traits/detail/false_result.hpp +28 -0
- data/ext/boost/type_traits/detail/ice_and.hpp +35 -0
- data/ext/boost/type_traits/detail/ice_eq.hpp +36 -0
- data/ext/boost/type_traits/detail/ice_not.hpp +31 -0
- data/ext/boost/type_traits/detail/ice_or.hpp +34 -0
- data/ext/boost/type_traits/detail/is_function_ptr_helper.hpp +220 -0
- data/ext/boost/type_traits/detail/is_function_ptr_tester.hpp +654 -0
- data/ext/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp +817 -0
- data/ext/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +2759 -0
- data/ext/boost/type_traits/detail/size_t_trait_def.hpp +58 -0
- data/ext/boost/type_traits/detail/size_t_trait_undef.hpp +16 -0
- data/ext/boost/type_traits/detail/template_arity_spec.hpp +31 -0
- data/ext/boost/type_traits/detail/type_trait_def.hpp +61 -0
- data/ext/boost/type_traits/detail/type_trait_undef.hpp +19 -0
- data/ext/boost/type_traits/detail/wrap.hpp +18 -0
- data/ext/boost/type_traits/detail/yes_no_type.hpp +26 -0
- data/ext/boost/type_traits/extent.hpp +134 -0
- data/ext/boost/type_traits/function_traits.hpp +236 -0
- data/ext/boost/type_traits/has_nothrow_assign.hpp +38 -0
- data/ext/boost/type_traits/has_nothrow_constructor.hpp +38 -0
- data/ext/boost/type_traits/has_nothrow_copy.hpp +38 -0
- data/ext/boost/type_traits/has_nothrow_destructor.hpp +25 -0
- data/ext/boost/type_traits/has_trivial_assign.hpp +50 -0
- data/ext/boost/type_traits/has_trivial_constructor.hpp +42 -0
- data/ext/boost/type_traits/has_trivial_copy.hpp +48 -0
- data/ext/boost/type_traits/has_trivial_destructor.hpp +42 -0
- data/ext/boost/type_traits/has_virtual_destructor.hpp +25 -0
- data/ext/boost/type_traits/ice.hpp +20 -0
- data/ext/boost/type_traits/integral_constant.hpp +53 -0
- data/ext/boost/type_traits/intrinsics.hpp +137 -0
- data/ext/boost/type_traits/is_abstract.hpp +137 -0
- data/ext/boost/type_traits/is_arithmetic.hpp +43 -0
- data/ext/boost/type_traits/is_array.hpp +90 -0
- data/ext/boost/type_traits/is_base_and_derived.hpp +223 -0
- data/ext/boost/type_traits/is_base_of.hpp +40 -0
- data/ext/boost/type_traits/is_class.hpp +128 -0
- data/ext/boost/type_traits/is_compound.hpp +40 -0
- data/ext/boost/type_traits/is_const.hpp +142 -0
- data/ext/boost/type_traits/is_convertible.hpp +416 -0
- data/ext/boost/type_traits/is_empty.hpp +211 -0
- data/ext/boost/type_traits/is_enum.hpp +180 -0
- data/ext/boost/type_traits/is_float.hpp +27 -0
- data/ext/boost/type_traits/is_floating_point.hpp +27 -0
- data/ext/boost/type_traits/is_function.hpp +88 -0
- data/ext/boost/type_traits/is_fundamental.hpp +41 -0
- data/ext/boost/type_traits/is_integral.hpp +71 -0
- data/ext/boost/type_traits/is_member_function_pointer.hpp +126 -0
- data/ext/boost/type_traits/is_member_object_pointer.hpp +46 -0
- data/ext/boost/type_traits/is_member_pointer.hpp +108 -0
- data/ext/boost/type_traits/is_object.hpp +53 -0
- data/ext/boost/type_traits/is_pod.hpp +135 -0
- data/ext/boost/type_traits/is_pointer.hpp +149 -0
- data/ext/boost/type_traits/is_polymorphic.hpp +102 -0
- data/ext/boost/type_traits/is_reference.hpp +116 -0
- data/ext/boost/type_traits/is_same.hpp +103 -0
- data/ext/boost/type_traits/is_scalar.hpp +55 -0
- data/ext/boost/type_traits/is_signed.hpp +117 -0
- data/ext/boost/type_traits/is_stateless.hpp +48 -0
- data/ext/boost/type_traits/is_union.hpp +49 -0
- data/ext/boost/type_traits/is_unsigned.hpp +114 -0
- data/ext/boost/type_traits/is_void.hpp +33 -0
- data/ext/boost/type_traits/is_volatile.hpp +131 -0
- data/ext/boost/type_traits/msvc/remove_all_extents.hpp +47 -0
- data/ext/boost/type_traits/msvc/remove_bounds.hpp +43 -0
- data/ext/boost/type_traits/msvc/remove_const.hpp +143 -0
- data/ext/boost/type_traits/msvc/remove_cv.hpp +190 -0
- data/ext/boost/type_traits/msvc/remove_extent.hpp +43 -0
- data/ext/boost/type_traits/msvc/remove_pointer.hpp +42 -0
- data/ext/boost/type_traits/msvc/remove_reference.hpp +42 -0
- data/ext/boost/type_traits/msvc/remove_volatile.hpp +143 -0
- data/ext/boost/type_traits/msvc/typeof.hpp +50 -0
- data/ext/boost/type_traits/object_traits.hpp +33 -0
- data/ext/boost/type_traits/rank.hpp +81 -0
- data/ext/boost/type_traits/reference_traits.hpp +15 -0
- data/ext/boost/type_traits/remove_all_extents.hpp +48 -0
- data/ext/boost/type_traits/remove_bounds.hpp +48 -0
- data/ext/boost/type_traits/remove_const.hpp +78 -0
- data/ext/boost/type_traits/remove_cv.hpp +61 -0
- data/ext/boost/type_traits/remove_extent.hpp +48 -0
- data/ext/boost/type_traits/remove_pointer.hpp +43 -0
- data/ext/boost/type_traits/remove_reference.hpp +50 -0
- data/ext/boost/type_traits/remove_volatile.hpp +77 -0
- data/ext/boost/type_traits/same_traits.hpp +15 -0
- data/ext/boost/type_traits/transform_traits.hpp +21 -0
- data/ext/boost/type_traits/transform_traits_spec.hpp +14 -0
- data/ext/boost/type_traits/type_with_alignment.hpp +288 -0
- data/ext/boost/utility.hpp +19 -0
- data/ext/boost/utility/addressof.hpp +58 -0
- data/ext/boost/utility/base_from_member.hpp +87 -0
- data/ext/boost/utility/compare_pointees.hpp +68 -0
- data/ext/boost/utility/enable_if.hpp +119 -0
- data/ext/boost/utility/in_place_factory.hpp +58 -0
- data/ext/boost/utility/result_of.hpp +66 -0
- data/ext/boost/utility/typed_in_place_factory.hpp +57 -0
- data/ext/boost/utility/value_init.hpp +77 -0
- data/ext/boost/visit_each.hpp +29 -0
- data/ext/boost/weak_ptr.hpp +194 -0
- data/ext/passenger/extconf.rb +17 -0
- data/ext/passenger/native_support.c +247 -0
- data/lib/passenger/abstract_server.rb +308 -0
- data/lib/passenger/application.rb +120 -0
- data/lib/passenger/application_spawner.rb +295 -0
- data/lib/passenger/cgi_fixed.rb +66 -0
- data/lib/passenger/console_text_template.rb +59 -0
- data/lib/passenger/dependencies.rb +285 -0
- data/lib/passenger/framework_spawner.rb +349 -0
- data/lib/passenger/html_template.rb +102 -0
- data/lib/passenger/message_channel.rb +221 -0
- data/lib/passenger/platform_info.rb +246 -0
- data/lib/passenger/request_handler.rb +324 -0
- data/lib/passenger/simple_benchmarking.rb +45 -0
- data/lib/passenger/spawn_manager.rb +251 -0
- data/lib/passenger/templates/apache2_config_snippets.txt.erb +13 -0
- data/lib/passenger/templates/apache_must_be_compiled_with_prefork_mpm.txt.erb +8 -0
- data/lib/passenger/templates/app_exited_during_initialization.html.erb +18 -0
- data/lib/passenger/templates/app_init_error.html.erb +64 -0
- data/lib/passenger/templates/database_error.html.erb +59 -0
- data/lib/passenger/templates/deployment_example.txt.erb +18 -0
- data/lib/passenger/templates/error_layout.css +97 -0
- data/lib/passenger/templates/error_layout.html.erb +39 -0
- data/lib/passenger/templates/framework_init_error.html.erb +39 -0
- data/lib/passenger/templates/general_error.html.erb +22 -0
- data/lib/passenger/templates/invalid_app_root.html.erb +9 -0
- data/lib/passenger/templates/load_error.html.erb +46 -0
- data/lib/passenger/templates/no_write_permission_to_passenger_root.txt.erb +9 -0
- data/lib/passenger/templates/osx_broken_apache_warning.txt.erb +23 -0
- data/lib/passenger/templates/possible_solutions_for_compilation_and_installation_problems.txt.erb +11 -0
- data/lib/passenger/templates/run_installer_as_root.txt.erb +8 -0
- data/lib/passenger/templates/version_not_found.html.erb +25 -0
- data/lib/passenger/templates/welcome.txt.erb +15 -0
- data/lib/passenger/utils.rb +222 -0
- data/lib/rake/cplusplus.rb +43 -0
- data/lib/rake/extensions.rb +175 -0
- data/lib/rake/gempackagetask.rb +105 -0
- data/lib/rake/packagetask.rb +186 -0
- data/lib/rake/rdoctask.rb +148 -0
- data/misc/find_owner_pipe_leaks.rb +121 -0
- data/misc/render_error_pages.rb +105 -0
- data/test/ApplicationPoolServerTest.cpp +100 -0
- data/test/ApplicationPoolServer_ApplicationPoolTest.cpp +23 -0
- data/test/ApplicationPoolTest.cpp +348 -0
- data/test/CxxTestMain.cpp +24 -0
- data/test/MessageChannelTest.cpp +310 -0
- data/test/SpawnManagerTest.cpp +64 -0
- data/test/StandardApplicationPoolTest.cpp +21 -0
- data/test/UtilsTest.cpp +100 -0
- data/test/abstract_server_spec.rb +17 -0
- data/test/application_spawner_spec.rb +78 -0
- data/test/application_spec.rb +25 -0
- data/test/config.yml.example +21 -0
- data/test/framework_spawner_spec.rb +99 -0
- data/test/integration_tests.rb +356 -0
- data/test/message_channel_spec.rb +171 -0
- data/test/minimal_spawner_spec.rb +19 -0
- data/test/spawn_manager_spec.rb +105 -0
- data/test/spawn_server_spec.rb +25 -0
- data/test/spawner_error_handling_spec.rb +35 -0
- data/test/spawner_privilege_lowering_spec.rb +71 -0
- data/test/stub/apache2/httpd.conf +72 -0
- data/test/stub/apache2/httpd.conf.erb +77 -0
- data/test/stub/apache2/mime.types +748 -0
- data/test/stub/broken-railsapp/config/environment.rb +2 -0
- data/test/stub/broken-railsapp/public/useless.txt +1 -0
- data/test/stub/broken-railsapp2/config/environment.rb +3 -0
- data/test/stub/broken-railsapp3/config/environment.rb +4 -0
- data/test/stub/broken-railsapp4/config/environment.rb +1 -0
- data/test/stub/broken-railsapp4/public/useless.txt +1 -0
- data/test/stub/broken-railsapp5/config/environment.rb +1 -0
- data/test/stub/broken-railsapp5/public/useless.txt +1 -0
- data/test/stub/broken-railsapp5/vendor/rails/actionmailer/lib/action_mailer.rb +0 -0
- data/test/stub/broken-railsapp5/vendor/rails/actionpack/lib/action_controller.rb +0 -0
- data/test/stub/broken-railsapp5/vendor/rails/actionpack/lib/action_pack.rb +0 -0
- data/test/stub/broken-railsapp5/vendor/rails/actionpack/lib/action_view.rb +0 -0
- data/test/stub/broken-railsapp5/vendor/rails/activerecord/lib/active_record.rb +0 -0
- data/test/stub/broken-railsapp5/vendor/rails/activeresource/lib/active_resource.rb +0 -0
- data/test/stub/broken-railsapp5/vendor/rails/activesupport/lib/active_support.rb +17 -0
- data/test/stub/broken-railsapp5/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +0 -0
- data/test/stub/broken-railsapp5/vendor/rails/railties/lib/dispatcher.rb +0 -0
- data/test/stub/broken-railsapp5/vendor/rails/railties/lib/initializer.rb +9 -0
- data/test/stub/broken-railsapp5/vendor/rails/railties/lib/ruby_version_check.rb +1 -0
- data/test/stub/garbage1.dat +0 -0
- data/test/stub/garbage2.dat +0 -0
- data/test/stub/garbage3.dat +0 -0
- data/test/stub/http_request.yml +23 -0
- data/test/stub/message_channel.rb +9 -0
- data/test/stub/message_channel_2.rb +10 -0
- data/test/stub/message_channel_3.rb +15 -0
- data/test/stub/minimal-railsapp/README +3 -0
- data/test/stub/minimal-railsapp/config/application.rb +0 -0
- data/test/stub/minimal-railsapp/config/environment.rb +3 -0
- data/test/stub/minimal-railsapp/vendor/rails/actionmailer/lib/action_mailer.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_controller.rb +6 -0
- data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_pack.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/actionpack/lib/action_view.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/activerecord/lib/active_record.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/activeresource/lib/active_resource.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/activesupport/lib/active_support.rb +17 -0
- data/test/stub/minimal-railsapp/vendor/rails/activesupport/lib/active_support/whiny_nil.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/railties/lib/dispatcher.rb +0 -0
- data/test/stub/minimal-railsapp/vendor/rails/railties/lib/initializer.rb +8 -0
- data/test/stub/minimal-railsapp/vendor/rails/railties/lib/ruby_version_check.rb +1 -0
- data/test/stub/mycook/app/controllers/application.rb +12 -0
- data/test/stub/mycook/app/controllers/recipes_controller.rb +5 -0
- data/test/stub/mycook/app/controllers/uploads_controller.rb +11 -0
- data/test/stub/mycook/app/controllers/welcome_controller.rb +23 -0
- data/test/stub/mycook/app/helpers/application_helper.rb +3 -0
- data/test/stub/mycook/app/views/layouts/default.rhtml +26 -0
- data/test/stub/mycook/app/views/recipes/create.rhtml +13 -0
- data/test/stub/mycook/app/views/recipes/index.rhtml +3 -0
- data/test/stub/mycook/app/views/recipes/new.rhtml +8 -0
- data/test/stub/mycook/app/views/uploads/index.rhtml +1 -0
- data/test/stub/mycook/app/views/uploads/new.html.erb +8 -0
- data/test/stub/mycook/app/views/welcome/cached.rhtml +1 -0
- data/test/stub/mycook/app/views/welcome/index.rhtml +20 -0
- data/test/stub/mycook/config/boot.rb +108 -0
- data/test/stub/mycook/config/database.yml +19 -0
- data/test/stub/mycook/config/environment.rb +61 -0
- data/test/stub/mycook/config/environments/development.rb +18 -0
- data/test/stub/mycook/config/environments/production.rb +19 -0
- data/test/stub/mycook/config/environments/test.rb +22 -0
- data/test/stub/mycook/config/initializers/inflections.rb +10 -0
- data/test/stub/mycook/config/initializers/mime_types.rb +5 -0
- data/test/stub/mycook/config/routes.rb +38 -0
- data/test/stub/mycook/public/404.html +30 -0
- data/test/stub/mycook/public/422.html +30 -0
- data/test/stub/mycook/public/500.html +30 -0
- data/test/stub/mycook/public/dispatch.cgi +10 -0
- data/test/stub/mycook/public/dispatch.fcgi +24 -0
- data/test/stub/mycook/public/dispatch.rb +10 -0
- data/test/stub/mycook/public/favicon.ico +0 -0
- data/test/stub/mycook/public/images/angrywizard.gif +0 -0
- data/test/stub/mycook/public/images/cookbook.gif +0 -0
- data/test/stub/mycook/public/images/header.png +0 -0
- data/test/stub/mycook/public/images/rails.png +0 -0
- data/test/stub/mycook/public/javascripts/application.js +2 -0
- data/test/stub/mycook/public/javascripts/controls.js +963 -0
- data/test/stub/mycook/public/javascripts/dragdrop.js +972 -0
- data/test/stub/mycook/public/javascripts/effects.js +1120 -0
- data/test/stub/mycook/public/javascripts/prototype.js +4225 -0
- data/test/stub/mycook/public/robots.txt +5 -0
- data/test/stub/mycook/public/uploads.html +26 -0
- data/test/stub/mycook/public/welcome/cached.html +26 -0
- data/test/stub/railsapp-without-version-spec/app/controllers/application.rb +12 -0
- data/test/stub/railsapp-without-version-spec/app/controllers/foo_controller.rb +5 -0
- data/test/stub/railsapp-without-version-spec/app/helpers/application_helper.rb +3 -0
- data/test/stub/railsapp-without-version-spec/config/boot.rb +108 -0
- data/test/stub/railsapp-without-version-spec/config/database.yml +19 -0
- data/test/stub/railsapp-without-version-spec/config/environment.rb +58 -0
- data/test/stub/railsapp-without-version-spec/config/environments/development.rb +18 -0
- data/test/stub/railsapp-without-version-spec/config/environments/production.rb +19 -0
- data/test/stub/railsapp-without-version-spec/config/environments/test.rb +22 -0
- data/test/stub/railsapp-without-version-spec/config/initializers/inflections.rb +10 -0
- data/test/stub/railsapp-without-version-spec/config/initializers/mime_types.rb +5 -0
- data/test/stub/railsapp-without-version-spec/config/routes.rb +35 -0
- data/test/stub/railsapp-without-version-spec/public/useless.txt +1 -0
- data/test/stub/railsapp/app/controllers/application.rb +12 -0
- data/test/stub/railsapp/app/controllers/bar_controller_1.rb +5 -0
- data/test/stub/railsapp/app/controllers/bar_controller_2.rb +5 -0
- data/test/stub/railsapp/app/controllers/foo_controller.rb +5 -0
- data/test/stub/railsapp/app/helpers/application_helper.rb +3 -0
- data/test/stub/railsapp/config/boot.rb +108 -0
- data/test/stub/railsapp/config/database.yml +19 -0
- data/test/stub/railsapp/config/environment.rb +59 -0
- data/test/stub/railsapp/config/environments/development.rb +18 -0
- data/test/stub/railsapp/config/environments/production.rb +19 -0
- data/test/stub/railsapp/config/environments/test.rb +22 -0
- data/test/stub/railsapp/config/initializers/inflections.rb +10 -0
- data/test/stub/railsapp/config/initializers/mime_types.rb +5 -0
- data/test/stub/railsapp/config/routes.rb +35 -0
- data/test/stub/railsapp/public/useless.txt +1 -0
- data/test/stub/railsapp2/app/controllers/application.rb +12 -0
- data/test/stub/railsapp2/app/controllers/foo_controller.rb +5 -0
- data/test/stub/railsapp2/app/helpers/application_helper.rb +3 -0
- data/test/stub/railsapp2/config/boot.rb +108 -0
- data/test/stub/railsapp2/config/database.yml +19 -0
- data/test/stub/railsapp2/config/environment.rb +59 -0
- data/test/stub/railsapp2/config/environments/development.rb +18 -0
- data/test/stub/railsapp2/config/environments/production.rb +19 -0
- data/test/stub/railsapp2/config/environments/test.rb +22 -0
- data/test/stub/railsapp2/config/initializers/inflections.rb +10 -0
- data/test/stub/railsapp2/config/initializers/mime_types.rb +5 -0
- data/test/stub/railsapp2/config/routes.rb +35 -0
- data/test/stub/railsapp2/public/useless.txt +1 -0
- data/test/stub/spawn_server.rb +17 -0
- data/test/stub/zsfa/header.png +0 -0
- data/test/stub/zsfa/index.html +14 -0
- data/test/stub/zsfa/zsfa.png +0 -0
- data/test/support/apache2_config_writer.rb +44 -0
- data/test/support/config.rb +10 -0
- data/test/support/multipart.rb +62 -0
- data/test/support/run_rspec_tests.rb +10 -0
- data/test/support/tut.h +1219 -0
- data/test/support/tut_reporter.h +256 -0
- data/test/support/valgrind.h +2539 -0
- metadata +2204 -0
@@ -0,0 +1,108 @@
|
|
1
|
+
/*
|
2
|
+
* Phusion Passenger - http://www.modrails.com/
|
3
|
+
* Copyright (C) 2008 Phusion
|
4
|
+
*
|
5
|
+
* This program is free software; you can redistribute it and/or modify
|
6
|
+
* it under the terms of the GNU General Public License as published by
|
7
|
+
* the Free Software Foundation; version 2 of the License.
|
8
|
+
*
|
9
|
+
* This program is distributed in the hope that it will be useful,
|
10
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
* GNU General Public License for more details.
|
13
|
+
*
|
14
|
+
* You should have received a copy of the GNU General Public License along
|
15
|
+
* with this program; if not, write to the Free Software Foundation, Inc.,
|
16
|
+
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
17
|
+
*/
|
18
|
+
#include <sys/types.h>
|
19
|
+
#include <sys/stat.h>
|
20
|
+
#include <cstdlib>
|
21
|
+
#include <climits>
|
22
|
+
#include <unistd.h>
|
23
|
+
#include "Utils.h"
|
24
|
+
|
25
|
+
#define SPAWN_SERVER_SCRIPT_NAME "passenger-spawn-server"
|
26
|
+
|
27
|
+
namespace Passenger {
|
28
|
+
|
29
|
+
int
|
30
|
+
atoi(const string &s) {
|
31
|
+
return ::atoi(s.c_str());
|
32
|
+
}
|
33
|
+
|
34
|
+
void
|
35
|
+
split(const string &str, char sep, vector<string> &output) {
|
36
|
+
string::size_type start, pos;
|
37
|
+
start = 0;
|
38
|
+
output.clear();
|
39
|
+
while ((pos = str.find(sep, start)) != string::npos) {
|
40
|
+
output.push_back(str.substr(start, pos - start));
|
41
|
+
start = pos + 1;
|
42
|
+
}
|
43
|
+
output.push_back(str.substr(start));
|
44
|
+
}
|
45
|
+
|
46
|
+
bool fileExists(const char *filename) {
|
47
|
+
struct stat buf;
|
48
|
+
|
49
|
+
if (stat(filename, &buf) == 0) {
|
50
|
+
return S_ISREG(buf.st_mode);
|
51
|
+
} else {
|
52
|
+
return false;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
string
|
57
|
+
findSpawnServer() {
|
58
|
+
const char *path = getenv("PATH");
|
59
|
+
if (path == NULL) {
|
60
|
+
return "";
|
61
|
+
}
|
62
|
+
|
63
|
+
vector<string> paths;
|
64
|
+
split(getenv("PATH"), ':', paths);
|
65
|
+
for (vector<string>::const_iterator it(paths.begin()); it != paths.end(); it++) {
|
66
|
+
if (!it->empty() && (*it).at(0) == '/') {
|
67
|
+
string filename(*it);
|
68
|
+
filename.append("/" SPAWN_SERVER_SCRIPT_NAME);
|
69
|
+
if (fileExists(filename.c_str())) {
|
70
|
+
return filename;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
return "";
|
75
|
+
}
|
76
|
+
|
77
|
+
string
|
78
|
+
canonicalizePath(const string &path) {
|
79
|
+
#ifdef __GLIBC__
|
80
|
+
// We're using a GNU extension here. See the 'BUGS'
|
81
|
+
// section of the realpath(3) Linux manpage for
|
82
|
+
// rationale.
|
83
|
+
char *tmp = realpath(path.c_str(), NULL);
|
84
|
+
if (tmp == NULL) {
|
85
|
+
return "";
|
86
|
+
} else {
|
87
|
+
string result(tmp);
|
88
|
+
free(tmp);
|
89
|
+
return result;
|
90
|
+
}
|
91
|
+
#else
|
92
|
+
char tmp[PATH_MAX];
|
93
|
+
if (realpath(path.c_str(), tmp) == NULL) {
|
94
|
+
return "";
|
95
|
+
} else {
|
96
|
+
return tmp;
|
97
|
+
}
|
98
|
+
#endif
|
99
|
+
}
|
100
|
+
|
101
|
+
bool
|
102
|
+
verifyRailsDir(const string &dir) {
|
103
|
+
string temp(dir);
|
104
|
+
temp.append("/../config/environment.rb");
|
105
|
+
return fileExists(temp.c_str());
|
106
|
+
}
|
107
|
+
|
108
|
+
} // namespace Passenger
|
data/ext/apache2/Utils.h
ADDED
@@ -0,0 +1,156 @@
|
|
1
|
+
/*
|
2
|
+
* Phusion Passenger - http://www.modrails.com/
|
3
|
+
* Copyright (C) 2008 Phusion
|
4
|
+
*
|
5
|
+
* This program is free software; you can redistribute it and/or modify
|
6
|
+
* it under the terms of the GNU General Public License as published by
|
7
|
+
* the Free Software Foundation; version 2 of the License.
|
8
|
+
*
|
9
|
+
* This program is distributed in the hope that it will be useful,
|
10
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
* GNU General Public License for more details.
|
13
|
+
*
|
14
|
+
* You should have received a copy of the GNU General Public License along
|
15
|
+
* with this program; if not, write to the Free Software Foundation, Inc.,
|
16
|
+
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
17
|
+
*/
|
18
|
+
#ifndef _PASSENGER_UTILS_H_
|
19
|
+
#define _PASSENGER_UTILS_H_
|
20
|
+
|
21
|
+
#include <boost/shared_ptr.hpp>
|
22
|
+
#include <string>
|
23
|
+
#include <vector>
|
24
|
+
#include <sstream>
|
25
|
+
|
26
|
+
namespace Passenger {
|
27
|
+
|
28
|
+
using namespace std;
|
29
|
+
using namespace boost;
|
30
|
+
|
31
|
+
/**
|
32
|
+
* Convenience shortcut for creating a <tt>shared_ptr</tt>.
|
33
|
+
* Instead of:
|
34
|
+
* @code
|
35
|
+
* shared_ptr<Foo> foo;
|
36
|
+
* ...
|
37
|
+
* foo = shared_ptr<Foo>(new Foo());
|
38
|
+
* @endcode
|
39
|
+
* one can write:
|
40
|
+
* @code
|
41
|
+
* shared_ptr<Foo> foo;
|
42
|
+
* ...
|
43
|
+
* foo = ptr(new Foo());
|
44
|
+
* @endcode
|
45
|
+
*
|
46
|
+
* @param pointer The item to put in the shared_ptr object.
|
47
|
+
* @ingroup Support
|
48
|
+
*/
|
49
|
+
template<typename T> shared_ptr<T>
|
50
|
+
ptr(T *pointer) {
|
51
|
+
return shared_ptr<T>(pointer);
|
52
|
+
}
|
53
|
+
|
54
|
+
/**
|
55
|
+
* Used internally by toString(). Do not use directly.
|
56
|
+
*/
|
57
|
+
template<typename T>
|
58
|
+
struct AnythingToString {
|
59
|
+
string operator()(T something) {
|
60
|
+
stringstream s;
|
61
|
+
s << something;
|
62
|
+
return s.str();
|
63
|
+
}
|
64
|
+
};
|
65
|
+
|
66
|
+
/**
|
67
|
+
* Used internally by toString(). Do not use directly.
|
68
|
+
*/
|
69
|
+
template<>
|
70
|
+
struct AnythingToString< vector<string> > {
|
71
|
+
string operator()(const vector<string> &v) {
|
72
|
+
string result("[");
|
73
|
+
vector<string>::const_iterator it;
|
74
|
+
unsigned int i;
|
75
|
+
for (it = v.begin(), i = 0; it != v.end(); it++, i++) {
|
76
|
+
result.append("'");
|
77
|
+
result.append(*it);
|
78
|
+
if (i == v.size() - 1) {
|
79
|
+
result.append("'");
|
80
|
+
} else {
|
81
|
+
result.append("', ");
|
82
|
+
}
|
83
|
+
}
|
84
|
+
result.append("]");
|
85
|
+
return result;
|
86
|
+
}
|
87
|
+
};
|
88
|
+
|
89
|
+
/**
|
90
|
+
* Convert anything to a string.
|
91
|
+
*
|
92
|
+
* @param something The thing to convert.
|
93
|
+
* @ingroup Support
|
94
|
+
*/
|
95
|
+
template<typename T> string
|
96
|
+
toString(T something) {
|
97
|
+
return AnythingToString<T>()(something);
|
98
|
+
}
|
99
|
+
|
100
|
+
/**
|
101
|
+
* Converts the given string to an integer.
|
102
|
+
* @ingroup Support
|
103
|
+
*/
|
104
|
+
int atoi(const string &s);
|
105
|
+
|
106
|
+
/**
|
107
|
+
* Split the given string using the given separator.
|
108
|
+
*
|
109
|
+
* @param str The string to split.
|
110
|
+
* @param sep The separator to use.
|
111
|
+
* @param output The vector to write the output to.
|
112
|
+
* @ingroup Support
|
113
|
+
*/
|
114
|
+
void split(const string &str, char sep, vector<string> &output);
|
115
|
+
|
116
|
+
/**
|
117
|
+
* Check whether the specified file exists.
|
118
|
+
*
|
119
|
+
* @param filename The filename to check.
|
120
|
+
* @return Whether the file exists.
|
121
|
+
* @ingroup Support
|
122
|
+
*/
|
123
|
+
bool fileExists(const char *filename);
|
124
|
+
|
125
|
+
/**
|
126
|
+
* Find the location of the Passenger spawn server script.
|
127
|
+
* This is done by scanning $PATH. For security reasons, only
|
128
|
+
* absolute paths are scanned.
|
129
|
+
*
|
130
|
+
* @return An absolute path to the spawn server script, or
|
131
|
+
* an empty string on error.
|
132
|
+
* @ingroup Support
|
133
|
+
*/
|
134
|
+
string findSpawnServer();
|
135
|
+
|
136
|
+
/**
|
137
|
+
* Returns a canonical version of the specified path. All symbolic links
|
138
|
+
* and relative path elements are resolved.
|
139
|
+
* Returns an empty string if something went wrong.
|
140
|
+
*
|
141
|
+
* @ingroup Support
|
142
|
+
*/
|
143
|
+
string canonicalizePath(const string &path);
|
144
|
+
|
145
|
+
/**
|
146
|
+
* Check whether the specified directory is a valid Ruby on Rails
|
147
|
+
* 'public' directory.
|
148
|
+
*
|
149
|
+
* @ingroup Support
|
150
|
+
*/
|
151
|
+
bool verifyRailsDir(const string &dir);
|
152
|
+
|
153
|
+
} // namespace Passenger
|
154
|
+
|
155
|
+
#endif /* _PASSENGER_UTILS_H_ */
|
156
|
+
|
@@ -0,0 +1,31 @@
|
|
1
|
+
/*
|
2
|
+
* Phusion Passenger - http://www.modrails.com/
|
3
|
+
* Copyright (C) 2008 Phusion
|
4
|
+
*
|
5
|
+
* This program is free software; you can redistribute it and/or modify
|
6
|
+
* it under the terms of the GNU General Public License as published by
|
7
|
+
* the Free Software Foundation; version 2 of the License.
|
8
|
+
*
|
9
|
+
* This program is distributed in the hope that it will be useful,
|
10
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
* GNU General Public License for more details.
|
13
|
+
*
|
14
|
+
* You should have received a copy of the GNU General Public License along
|
15
|
+
* with this program; if not, write to the Free Software Foundation, Inc.,
|
16
|
+
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
17
|
+
*/
|
18
|
+
#include <httpd.h>
|
19
|
+
#include <http_config.h>
|
20
|
+
#include "Configuration.h"
|
21
|
+
#include "Hooks.h"
|
22
|
+
|
23
|
+
module AP_MODULE_DECLARE_DATA passenger_module = {
|
24
|
+
STANDARD20_MODULE_STUFF,
|
25
|
+
passenger_config_create_dir, /* create per-dir config structs */
|
26
|
+
passenger_config_merge_dir, /* merge per-dir config structs */
|
27
|
+
passenger_config_create_server, /* create per-server config structs */
|
28
|
+
passenger_config_merge_server, /* merge per-server config structs */
|
29
|
+
passenger_commands, /* table of config file commands */
|
30
|
+
passenger_register_hooks, /* register hooks */
|
31
|
+
};
|
@@ -0,0 +1,23 @@
|
|
1
|
+
Boost Software License - Version 1.0 - August 17th, 2003
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person or organization
|
4
|
+
obtaining a copy of the software and accompanying documentation covered by
|
5
|
+
this license (the "Software") to use, reproduce, display, distribute,
|
6
|
+
execute, and transmit the Software, and to prepare derivative works of the
|
7
|
+
Software, and to permit third-parties to whom the Software is furnished to
|
8
|
+
do so, all subject to the following:
|
9
|
+
|
10
|
+
The copyright notices in the Software and this entire statement, including
|
11
|
+
the above license grant, this restriction and the following disclaimer,
|
12
|
+
must be included in all copies of the Software, in whole or in part, and
|
13
|
+
all derivative works of the Software, unless such copies or derivative
|
14
|
+
works are solely in the form of machine-executable object code generated by
|
15
|
+
a source language processor.
|
16
|
+
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
18
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
20
|
+
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
21
|
+
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
22
|
+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
23
|
+
DEALINGS IN THE SOFTWARE.
|
@@ -0,0 +1 @@
|
|
1
|
+
Boost version 1.34.1 (July 24, 2007)
|
@@ -0,0 +1,37 @@
|
|
1
|
+
//
|
2
|
+
// boost/assert.hpp - BOOST_ASSERT(expr)
|
3
|
+
//
|
4
|
+
// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd.
|
5
|
+
//
|
6
|
+
// Distributed under the Boost Software License, Version 1.0. (See
|
7
|
+
// accompanying file LICENSE_1_0.txt or copy at
|
8
|
+
// http://www.boost.org/LICENSE_1_0.txt)
|
9
|
+
//
|
10
|
+
// Note: There are no include guards. This is intentional.
|
11
|
+
//
|
12
|
+
// See http://www.boost.org/libs/utility/assert.html for documentation.
|
13
|
+
//
|
14
|
+
|
15
|
+
#undef BOOST_ASSERT
|
16
|
+
|
17
|
+
#if defined(BOOST_DISABLE_ASSERTS)
|
18
|
+
|
19
|
+
# define BOOST_ASSERT(expr) ((void)0)
|
20
|
+
|
21
|
+
#elif defined(BOOST_ENABLE_ASSERT_HANDLER)
|
22
|
+
|
23
|
+
#include <boost/current_function.hpp>
|
24
|
+
|
25
|
+
namespace boost
|
26
|
+
{
|
27
|
+
|
28
|
+
void assertion_failed(char const * expr, char const * function, char const * file, long line); // user defined
|
29
|
+
|
30
|
+
} // namespace boost
|
31
|
+
|
32
|
+
#define BOOST_ASSERT(expr) ((expr)? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__))
|
33
|
+
|
34
|
+
#else
|
35
|
+
# include <assert.h> // .h to support old libraries w/o <cassert> - effect is the same
|
36
|
+
# define BOOST_ASSERT(expr) assert(expr)
|
37
|
+
#endif
|
data/ext/boost/bind.hpp
ADDED
@@ -0,0 +1,1651 @@
|
|
1
|
+
#ifndef BOOST_BIND_HPP_INCLUDED
|
2
|
+
#define BOOST_BIND_HPP_INCLUDED
|
3
|
+
|
4
|
+
// MS compatible compilers support #pragma once
|
5
|
+
|
6
|
+
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
7
|
+
# pragma once
|
8
|
+
#endif
|
9
|
+
|
10
|
+
//
|
11
|
+
// bind.hpp - binds function objects to arguments
|
12
|
+
//
|
13
|
+
// Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd.
|
14
|
+
// Copyright (c) 2001 David Abrahams
|
15
|
+
// Copyright (c) 2005 Peter Dimov
|
16
|
+
//
|
17
|
+
// Distributed under the Boost Software License, Version 1.0. (See
|
18
|
+
// accompanying file LICENSE_1_0.txt or copy at
|
19
|
+
// http://www.boost.org/LICENSE_1_0.txt)
|
20
|
+
//
|
21
|
+
// See http://www.boost.org/libs/bind/bind.html for documentation.
|
22
|
+
//
|
23
|
+
|
24
|
+
#include <boost/config.hpp>
|
25
|
+
#include <boost/ref.hpp>
|
26
|
+
#include <boost/mem_fn.hpp>
|
27
|
+
#include <boost/type.hpp>
|
28
|
+
#include <boost/bind/arg.hpp>
|
29
|
+
#include <boost/detail/workaround.hpp>
|
30
|
+
#include <boost/visit_each.hpp>
|
31
|
+
|
32
|
+
// Borland-specific bug, visit_each() silently fails to produce code
|
33
|
+
|
34
|
+
#if defined(__BORLANDC__)
|
35
|
+
# define BOOST_BIND_VISIT_EACH boost::visit_each
|
36
|
+
#else
|
37
|
+
# define BOOST_BIND_VISIT_EACH visit_each
|
38
|
+
#endif
|
39
|
+
|
40
|
+
#include <boost/bind/storage.hpp>
|
41
|
+
|
42
|
+
#ifdef BOOST_MSVC
|
43
|
+
# pragma warning(push)
|
44
|
+
# pragma warning(disable: 4512) // assignment operator could not be generated
|
45
|
+
#endif
|
46
|
+
|
47
|
+
namespace boost
|
48
|
+
{
|
49
|
+
|
50
|
+
namespace _bi // implementation details
|
51
|
+
{
|
52
|
+
|
53
|
+
// result_traits
|
54
|
+
|
55
|
+
template<class R, class F> struct result_traits
|
56
|
+
{
|
57
|
+
typedef R type;
|
58
|
+
};
|
59
|
+
|
60
|
+
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
|
61
|
+
|
62
|
+
struct unspecified {};
|
63
|
+
|
64
|
+
template<class F> struct result_traits<unspecified, F>
|
65
|
+
{
|
66
|
+
typedef typename F::result_type type;
|
67
|
+
};
|
68
|
+
|
69
|
+
template<class F> struct result_traits< unspecified, reference_wrapper<F> >
|
70
|
+
{
|
71
|
+
typedef typename F::result_type type;
|
72
|
+
};
|
73
|
+
|
74
|
+
#endif
|
75
|
+
|
76
|
+
// ref_compare
|
77
|
+
|
78
|
+
template<class T> bool ref_compare( T const & a, T const & b, long )
|
79
|
+
{
|
80
|
+
return a == b;
|
81
|
+
}
|
82
|
+
|
83
|
+
template<int I> bool ref_compare( arg<I> const &, arg<I> const &, int )
|
84
|
+
{
|
85
|
+
return true;
|
86
|
+
}
|
87
|
+
|
88
|
+
template<int I> bool ref_compare( arg<I> (*) (), arg<I> (*) (), int )
|
89
|
+
{
|
90
|
+
return true;
|
91
|
+
}
|
92
|
+
|
93
|
+
template<class T> bool ref_compare( reference_wrapper<T> const & a, reference_wrapper<T> const & b, int )
|
94
|
+
{
|
95
|
+
return a.get_pointer() == b.get_pointer();
|
96
|
+
}
|
97
|
+
|
98
|
+
// bind_t forward declaration for listN
|
99
|
+
|
100
|
+
template<class R, class F, class L> class bind_t;
|
101
|
+
|
102
|
+
// value
|
103
|
+
|
104
|
+
template<class T> class value
|
105
|
+
{
|
106
|
+
public:
|
107
|
+
|
108
|
+
value(T const & t): t_(t) {}
|
109
|
+
|
110
|
+
T & get() { return t_; }
|
111
|
+
T const & get() const { return t_; }
|
112
|
+
|
113
|
+
bool operator==(value const & rhs) const
|
114
|
+
{
|
115
|
+
return t_ == rhs.t_;
|
116
|
+
}
|
117
|
+
|
118
|
+
private:
|
119
|
+
|
120
|
+
T t_;
|
121
|
+
};
|
122
|
+
|
123
|
+
// type
|
124
|
+
|
125
|
+
template<class T> class type {};
|
126
|
+
|
127
|
+
// unwrap
|
128
|
+
|
129
|
+
template<class F> struct unwrapper
|
130
|
+
{
|
131
|
+
static inline F & unwrap( F & f, long )
|
132
|
+
{
|
133
|
+
return f;
|
134
|
+
}
|
135
|
+
|
136
|
+
template<class F2> static inline F2 & unwrap( reference_wrapper<F2> rf, int )
|
137
|
+
{
|
138
|
+
return rf.get();
|
139
|
+
}
|
140
|
+
|
141
|
+
template<class R, class T> static inline _mfi::dm<R, T> unwrap( R T::* pm, int )
|
142
|
+
{
|
143
|
+
return _mfi::dm<R, T>( pm );
|
144
|
+
}
|
145
|
+
};
|
146
|
+
|
147
|
+
// listN
|
148
|
+
|
149
|
+
class list0
|
150
|
+
{
|
151
|
+
public:
|
152
|
+
|
153
|
+
list0() {}
|
154
|
+
|
155
|
+
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
156
|
+
|
157
|
+
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
158
|
+
|
159
|
+
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
160
|
+
|
161
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
162
|
+
|
163
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
164
|
+
|
165
|
+
template<class R, class F, class A> R operator()(type<R>, F & f, A &, long)
|
166
|
+
{
|
167
|
+
return unwrapper<F>::unwrap(f, 0)();
|
168
|
+
}
|
169
|
+
|
170
|
+
template<class R, class F, class A> R operator()(type<R>, F const & f, A &, long) const
|
171
|
+
{
|
172
|
+
return unwrapper<F const>::unwrap(f, 0)();
|
173
|
+
}
|
174
|
+
|
175
|
+
template<class F, class A> void operator()(type<void>, F & f, A &, int)
|
176
|
+
{
|
177
|
+
unwrapper<F>::unwrap(f, 0)();
|
178
|
+
}
|
179
|
+
|
180
|
+
template<class F, class A> void operator()(type<void>, F const & f, A &, int) const
|
181
|
+
{
|
182
|
+
unwrapper<F const>::unwrap(f, 0)();
|
183
|
+
}
|
184
|
+
|
185
|
+
template<class V> void accept(V &) const
|
186
|
+
{
|
187
|
+
}
|
188
|
+
|
189
|
+
bool operator==(list0 const &) const
|
190
|
+
{
|
191
|
+
return true;
|
192
|
+
}
|
193
|
+
};
|
194
|
+
|
195
|
+
template< class A1 > class list1: private storage1< A1 >
|
196
|
+
{
|
197
|
+
private:
|
198
|
+
|
199
|
+
typedef storage1< A1 > base_type;
|
200
|
+
|
201
|
+
public:
|
202
|
+
|
203
|
+
explicit list1( A1 a1 ): base_type( a1 ) {}
|
204
|
+
|
205
|
+
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
206
|
+
|
207
|
+
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
208
|
+
|
209
|
+
template<class T> T & operator[] ( _bi::value<T> & v ) const { return v.get(); }
|
210
|
+
|
211
|
+
template<class T> T const & operator[] ( _bi::value<T> const & v ) const { return v.get(); }
|
212
|
+
|
213
|
+
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
214
|
+
|
215
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
216
|
+
|
217
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
218
|
+
|
219
|
+
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
220
|
+
{
|
221
|
+
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);
|
222
|
+
}
|
223
|
+
|
224
|
+
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
225
|
+
{
|
226
|
+
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_]);
|
227
|
+
}
|
228
|
+
|
229
|
+
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
230
|
+
{
|
231
|
+
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_]);
|
232
|
+
}
|
233
|
+
|
234
|
+
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
235
|
+
{
|
236
|
+
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_]);
|
237
|
+
}
|
238
|
+
|
239
|
+
template<class V> void accept(V & v) const
|
240
|
+
{
|
241
|
+
base_type::accept(v);
|
242
|
+
}
|
243
|
+
|
244
|
+
bool operator==(list1 const & rhs) const
|
245
|
+
{
|
246
|
+
return ref_compare(base_type::a1_, rhs.a1_, 0);
|
247
|
+
}
|
248
|
+
};
|
249
|
+
|
250
|
+
template< class A1, class A2 > class list2: private storage2< A1, A2 >
|
251
|
+
{
|
252
|
+
private:
|
253
|
+
|
254
|
+
typedef storage2< A1, A2 > base_type;
|
255
|
+
|
256
|
+
public:
|
257
|
+
|
258
|
+
list2( A1 a1, A2 a2 ): base_type( a1, a2 ) {}
|
259
|
+
|
260
|
+
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
261
|
+
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
262
|
+
|
263
|
+
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
264
|
+
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
265
|
+
|
266
|
+
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
267
|
+
|
268
|
+
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
269
|
+
|
270
|
+
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
271
|
+
|
272
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
273
|
+
|
274
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
275
|
+
|
276
|
+
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
277
|
+
{
|
278
|
+
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
|
279
|
+
}
|
280
|
+
|
281
|
+
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
282
|
+
{
|
283
|
+
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
|
284
|
+
}
|
285
|
+
|
286
|
+
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
287
|
+
{
|
288
|
+
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
|
289
|
+
}
|
290
|
+
|
291
|
+
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
292
|
+
{
|
293
|
+
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]);
|
294
|
+
}
|
295
|
+
|
296
|
+
template<class V> void accept(V & v) const
|
297
|
+
{
|
298
|
+
base_type::accept(v);
|
299
|
+
}
|
300
|
+
|
301
|
+
bool operator==(list2 const & rhs) const
|
302
|
+
{
|
303
|
+
return ref_compare(base_type::a1_, rhs.a1_, 0) && ref_compare(base_type::a2_, rhs.a2_, 0);
|
304
|
+
}
|
305
|
+
};
|
306
|
+
|
307
|
+
template< class A1, class A2, class A3 > class list3: private storage3< A1, A2, A3 >
|
308
|
+
{
|
309
|
+
private:
|
310
|
+
|
311
|
+
typedef storage3< A1, A2, A3 > base_type;
|
312
|
+
|
313
|
+
public:
|
314
|
+
|
315
|
+
list3( A1 a1, A2 a2, A3 a3 ): base_type( a1, a2, a3 ) {}
|
316
|
+
|
317
|
+
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
318
|
+
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
319
|
+
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
320
|
+
|
321
|
+
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
322
|
+
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
323
|
+
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
324
|
+
|
325
|
+
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
326
|
+
|
327
|
+
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
328
|
+
|
329
|
+
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
330
|
+
|
331
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
332
|
+
|
333
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
334
|
+
|
335
|
+
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
336
|
+
{
|
337
|
+
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
|
338
|
+
}
|
339
|
+
|
340
|
+
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
341
|
+
{
|
342
|
+
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
|
343
|
+
}
|
344
|
+
|
345
|
+
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
346
|
+
{
|
347
|
+
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
|
348
|
+
}
|
349
|
+
|
350
|
+
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
351
|
+
{
|
352
|
+
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]);
|
353
|
+
}
|
354
|
+
|
355
|
+
template<class V> void accept(V & v) const
|
356
|
+
{
|
357
|
+
base_type::accept(v);
|
358
|
+
}
|
359
|
+
|
360
|
+
bool operator==(list3 const & rhs) const
|
361
|
+
{
|
362
|
+
return
|
363
|
+
|
364
|
+
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
365
|
+
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
366
|
+
ref_compare( base_type::a3_, rhs.a3_, 0 );
|
367
|
+
}
|
368
|
+
};
|
369
|
+
|
370
|
+
template< class A1, class A2, class A3, class A4 > class list4: private storage4< A1, A2, A3, A4 >
|
371
|
+
{
|
372
|
+
private:
|
373
|
+
|
374
|
+
typedef storage4< A1, A2, A3, A4 > base_type;
|
375
|
+
|
376
|
+
public:
|
377
|
+
|
378
|
+
list4( A1 a1, A2 a2, A3 a3, A4 a4 ): base_type( a1, a2, a3, a4 ) {}
|
379
|
+
|
380
|
+
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
381
|
+
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
382
|
+
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
383
|
+
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
384
|
+
|
385
|
+
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
386
|
+
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
387
|
+
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
388
|
+
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
389
|
+
|
390
|
+
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
391
|
+
|
392
|
+
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
393
|
+
|
394
|
+
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
395
|
+
|
396
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
397
|
+
|
398
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
399
|
+
|
400
|
+
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
401
|
+
{
|
402
|
+
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
|
403
|
+
}
|
404
|
+
|
405
|
+
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
406
|
+
{
|
407
|
+
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
|
408
|
+
}
|
409
|
+
|
410
|
+
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
411
|
+
{
|
412
|
+
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
|
413
|
+
}
|
414
|
+
|
415
|
+
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
416
|
+
{
|
417
|
+
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]);
|
418
|
+
}
|
419
|
+
|
420
|
+
template<class V> void accept(V & v) const
|
421
|
+
{
|
422
|
+
base_type::accept(v);
|
423
|
+
}
|
424
|
+
|
425
|
+
bool operator==(list4 const & rhs) const
|
426
|
+
{
|
427
|
+
return
|
428
|
+
|
429
|
+
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
430
|
+
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
431
|
+
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
432
|
+
ref_compare( base_type::a4_, rhs.a4_, 0 );
|
433
|
+
}
|
434
|
+
};
|
435
|
+
|
436
|
+
template< class A1, class A2, class A3, class A4, class A5 > class list5: private storage5< A1, A2, A3, A4, A5 >
|
437
|
+
{
|
438
|
+
private:
|
439
|
+
|
440
|
+
typedef storage5< A1, A2, A3, A4, A5 > base_type;
|
441
|
+
|
442
|
+
public:
|
443
|
+
|
444
|
+
list5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): base_type( a1, a2, a3, a4, a5 ) {}
|
445
|
+
|
446
|
+
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
447
|
+
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
448
|
+
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
449
|
+
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
450
|
+
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
451
|
+
|
452
|
+
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
453
|
+
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
454
|
+
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
455
|
+
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
456
|
+
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
457
|
+
|
458
|
+
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
459
|
+
|
460
|
+
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
461
|
+
|
462
|
+
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
463
|
+
|
464
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
465
|
+
|
466
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
467
|
+
|
468
|
+
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
469
|
+
{
|
470
|
+
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
|
471
|
+
}
|
472
|
+
|
473
|
+
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
474
|
+
{
|
475
|
+
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
|
476
|
+
}
|
477
|
+
|
478
|
+
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
479
|
+
{
|
480
|
+
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
|
481
|
+
}
|
482
|
+
|
483
|
+
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
484
|
+
{
|
485
|
+
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]);
|
486
|
+
}
|
487
|
+
|
488
|
+
template<class V> void accept(V & v) const
|
489
|
+
{
|
490
|
+
base_type::accept(v);
|
491
|
+
}
|
492
|
+
|
493
|
+
bool operator==(list5 const & rhs) const
|
494
|
+
{
|
495
|
+
return
|
496
|
+
|
497
|
+
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
498
|
+
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
499
|
+
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
500
|
+
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
501
|
+
ref_compare( base_type::a5_, rhs.a5_, 0 );
|
502
|
+
}
|
503
|
+
};
|
504
|
+
|
505
|
+
template<class A1, class A2, class A3, class A4, class A5, class A6> class list6: private storage6< A1, A2, A3, A4, A5, A6 >
|
506
|
+
{
|
507
|
+
private:
|
508
|
+
|
509
|
+
typedef storage6< A1, A2, A3, A4, A5, A6 > base_type;
|
510
|
+
|
511
|
+
public:
|
512
|
+
|
513
|
+
list6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): base_type( a1, a2, a3, a4, a5, a6 ) {}
|
514
|
+
|
515
|
+
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
516
|
+
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
517
|
+
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
518
|
+
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
519
|
+
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
520
|
+
A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
|
521
|
+
|
522
|
+
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
523
|
+
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
524
|
+
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
525
|
+
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
526
|
+
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
527
|
+
A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
|
528
|
+
|
529
|
+
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
530
|
+
|
531
|
+
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
532
|
+
|
533
|
+
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
534
|
+
|
535
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
536
|
+
|
537
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
538
|
+
|
539
|
+
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
540
|
+
{
|
541
|
+
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
|
542
|
+
}
|
543
|
+
|
544
|
+
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
545
|
+
{
|
546
|
+
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
|
547
|
+
}
|
548
|
+
|
549
|
+
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
550
|
+
{
|
551
|
+
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
|
552
|
+
}
|
553
|
+
|
554
|
+
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
555
|
+
{
|
556
|
+
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]);
|
557
|
+
}
|
558
|
+
|
559
|
+
template<class V> void accept(V & v) const
|
560
|
+
{
|
561
|
+
base_type::accept(v);
|
562
|
+
}
|
563
|
+
|
564
|
+
bool operator==(list6 const & rhs) const
|
565
|
+
{
|
566
|
+
return
|
567
|
+
|
568
|
+
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
569
|
+
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
570
|
+
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
571
|
+
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
572
|
+
ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
|
573
|
+
ref_compare( base_type::a6_, rhs.a6_, 0 );
|
574
|
+
}
|
575
|
+
};
|
576
|
+
|
577
|
+
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> class list7: private storage7< A1, A2, A3, A4, A5, A6, A7 >
|
578
|
+
{
|
579
|
+
private:
|
580
|
+
|
581
|
+
typedef storage7< A1, A2, A3, A4, A5, A6, A7 > base_type;
|
582
|
+
|
583
|
+
public:
|
584
|
+
|
585
|
+
list7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): base_type( a1, a2, a3, a4, a5, a6, a7 ) {}
|
586
|
+
|
587
|
+
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
588
|
+
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
589
|
+
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
590
|
+
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
591
|
+
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
592
|
+
A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
|
593
|
+
A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
|
594
|
+
|
595
|
+
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
596
|
+
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
597
|
+
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
598
|
+
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
599
|
+
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
600
|
+
A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
|
601
|
+
A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
|
602
|
+
|
603
|
+
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
604
|
+
|
605
|
+
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
606
|
+
|
607
|
+
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
608
|
+
|
609
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
610
|
+
|
611
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
612
|
+
|
613
|
+
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
614
|
+
{
|
615
|
+
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);
|
616
|
+
}
|
617
|
+
|
618
|
+
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
619
|
+
{
|
620
|
+
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);
|
621
|
+
}
|
622
|
+
|
623
|
+
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
624
|
+
{
|
625
|
+
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);
|
626
|
+
}
|
627
|
+
|
628
|
+
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
629
|
+
{
|
630
|
+
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]);
|
631
|
+
}
|
632
|
+
|
633
|
+
template<class V> void accept(V & v) const
|
634
|
+
{
|
635
|
+
base_type::accept(v);
|
636
|
+
}
|
637
|
+
|
638
|
+
bool operator==(list7 const & rhs) const
|
639
|
+
{
|
640
|
+
return
|
641
|
+
|
642
|
+
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
643
|
+
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
644
|
+
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
645
|
+
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
646
|
+
ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
|
647
|
+
ref_compare( base_type::a6_, rhs.a6_, 0 ) &&
|
648
|
+
ref_compare( base_type::a7_, rhs.a7_, 0 );
|
649
|
+
}
|
650
|
+
};
|
651
|
+
|
652
|
+
template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class list8: private storage8< A1, A2, A3, A4, A5, A6, A7, A8 >
|
653
|
+
{
|
654
|
+
private:
|
655
|
+
|
656
|
+
typedef storage8< A1, A2, A3, A4, A5, A6, A7, A8 > base_type;
|
657
|
+
|
658
|
+
public:
|
659
|
+
|
660
|
+
list8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8 ) {}
|
661
|
+
|
662
|
+
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
663
|
+
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
664
|
+
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
665
|
+
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
666
|
+
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
667
|
+
A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
|
668
|
+
A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
|
669
|
+
A8 operator[] (boost::arg<8>) const { return base_type::a8_; }
|
670
|
+
|
671
|
+
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
672
|
+
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
673
|
+
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
674
|
+
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
675
|
+
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
676
|
+
A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
|
677
|
+
A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
|
678
|
+
A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }
|
679
|
+
|
680
|
+
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
681
|
+
|
682
|
+
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
683
|
+
|
684
|
+
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
685
|
+
|
686
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
687
|
+
|
688
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
689
|
+
|
690
|
+
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
691
|
+
{
|
692
|
+
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
|
693
|
+
}
|
694
|
+
|
695
|
+
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
696
|
+
{
|
697
|
+
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
|
698
|
+
}
|
699
|
+
|
700
|
+
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
701
|
+
{
|
702
|
+
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
|
703
|
+
}
|
704
|
+
|
705
|
+
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
706
|
+
{
|
707
|
+
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]);
|
708
|
+
}
|
709
|
+
|
710
|
+
template<class V> void accept(V & v) const
|
711
|
+
{
|
712
|
+
base_type::accept(v);
|
713
|
+
}
|
714
|
+
|
715
|
+
bool operator==(list8 const & rhs) const
|
716
|
+
{
|
717
|
+
return
|
718
|
+
|
719
|
+
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
720
|
+
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
721
|
+
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
722
|
+
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
723
|
+
ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
|
724
|
+
ref_compare( base_type::a6_, rhs.a6_, 0 ) &&
|
725
|
+
ref_compare( base_type::a7_, rhs.a7_, 0 ) &&
|
726
|
+
ref_compare( base_type::a8_, rhs.a8_, 0 );
|
727
|
+
}
|
728
|
+
};
|
729
|
+
|
730
|
+
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> class list9: private storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 >
|
731
|
+
{
|
732
|
+
private:
|
733
|
+
|
734
|
+
typedef storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > base_type;
|
735
|
+
|
736
|
+
public:
|
737
|
+
|
738
|
+
list9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8, a9 ) {}
|
739
|
+
|
740
|
+
A1 operator[] (boost::arg<1>) const { return base_type::a1_; }
|
741
|
+
A2 operator[] (boost::arg<2>) const { return base_type::a2_; }
|
742
|
+
A3 operator[] (boost::arg<3>) const { return base_type::a3_; }
|
743
|
+
A4 operator[] (boost::arg<4>) const { return base_type::a4_; }
|
744
|
+
A5 operator[] (boost::arg<5>) const { return base_type::a5_; }
|
745
|
+
A6 operator[] (boost::arg<6>) const { return base_type::a6_; }
|
746
|
+
A7 operator[] (boost::arg<7>) const { return base_type::a7_; }
|
747
|
+
A8 operator[] (boost::arg<8>) const { return base_type::a8_; }
|
748
|
+
A9 operator[] (boost::arg<9>) const { return base_type::a9_; }
|
749
|
+
|
750
|
+
A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; }
|
751
|
+
A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; }
|
752
|
+
A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; }
|
753
|
+
A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; }
|
754
|
+
A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; }
|
755
|
+
A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; }
|
756
|
+
A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; }
|
757
|
+
A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; }
|
758
|
+
A9 operator[] (boost::arg<9> (*) ()) const { return base_type::a9_; }
|
759
|
+
|
760
|
+
template<class T> T & operator[] (_bi::value<T> & v) const { return v.get(); }
|
761
|
+
|
762
|
+
template<class T> T const & operator[] (_bi::value<T> const & v) const { return v.get(); }
|
763
|
+
|
764
|
+
template<class T> T & operator[] (reference_wrapper<T> const & v) const { return v.get(); }
|
765
|
+
|
766
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> & b) const { return b.eval(*this); }
|
767
|
+
|
768
|
+
template<class R, class F, class L> typename result_traits<R, F>::type operator[] (bind_t<R, F, L> const & b) const { return b.eval(*this); }
|
769
|
+
|
770
|
+
template<class R, class F, class A> R operator()(type<R>, F & f, A & a, long)
|
771
|
+
{
|
772
|
+
return unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
|
773
|
+
}
|
774
|
+
|
775
|
+
template<class R, class F, class A> R operator()(type<R>, F const & f, A & a, long) const
|
776
|
+
{
|
777
|
+
return unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
|
778
|
+
}
|
779
|
+
|
780
|
+
template<class F, class A> void operator()(type<void>, F & f, A & a, int)
|
781
|
+
{
|
782
|
+
unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
|
783
|
+
}
|
784
|
+
|
785
|
+
template<class F, class A> void operator()(type<void>, F const & f, A & a, int) const
|
786
|
+
{
|
787
|
+
unwrapper<F const>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]);
|
788
|
+
}
|
789
|
+
|
790
|
+
template<class V> void accept(V & v) const
|
791
|
+
{
|
792
|
+
base_type::accept(v);
|
793
|
+
}
|
794
|
+
|
795
|
+
bool operator==(list9 const & rhs) const
|
796
|
+
{
|
797
|
+
return
|
798
|
+
|
799
|
+
ref_compare( base_type::a1_, rhs.a1_, 0 ) &&
|
800
|
+
ref_compare( base_type::a2_, rhs.a2_, 0 ) &&
|
801
|
+
ref_compare( base_type::a3_, rhs.a3_, 0 ) &&
|
802
|
+
ref_compare( base_type::a4_, rhs.a4_, 0 ) &&
|
803
|
+
ref_compare( base_type::a5_, rhs.a5_, 0 ) &&
|
804
|
+
ref_compare( base_type::a6_, rhs.a6_, 0 ) &&
|
805
|
+
ref_compare( base_type::a7_, rhs.a7_, 0 ) &&
|
806
|
+
ref_compare( base_type::a8_, rhs.a8_, 0 ) &&
|
807
|
+
ref_compare( base_type::a9_, rhs.a9_, 0 );
|
808
|
+
}
|
809
|
+
};
|
810
|
+
|
811
|
+
// bind_t
|
812
|
+
|
813
|
+
#ifndef BOOST_NO_VOID_RETURNS
|
814
|
+
|
815
|
+
template<class R, class F, class L> class bind_t
|
816
|
+
{
|
817
|
+
public:
|
818
|
+
|
819
|
+
typedef bind_t this_type;
|
820
|
+
|
821
|
+
bind_t(F f, L const & l): f_(f), l_(l) {}
|
822
|
+
|
823
|
+
#define BOOST_BIND_RETURN return
|
824
|
+
#include <boost/bind/bind_template.hpp>
|
825
|
+
#undef BOOST_BIND_RETURN
|
826
|
+
|
827
|
+
};
|
828
|
+
|
829
|
+
#else
|
830
|
+
|
831
|
+
template<class R> struct bind_t_generator
|
832
|
+
{
|
833
|
+
|
834
|
+
template<class F, class L> class implementation
|
835
|
+
{
|
836
|
+
public:
|
837
|
+
|
838
|
+
typedef implementation this_type;
|
839
|
+
|
840
|
+
implementation(F f, L const & l): f_(f), l_(l) {}
|
841
|
+
|
842
|
+
#define BOOST_BIND_RETURN return
|
843
|
+
#include <boost/bind/bind_template.hpp>
|
844
|
+
#undef BOOST_BIND_RETURN
|
845
|
+
|
846
|
+
};
|
847
|
+
|
848
|
+
};
|
849
|
+
|
850
|
+
template<> struct bind_t_generator<void>
|
851
|
+
{
|
852
|
+
|
853
|
+
template<class F, class L> class implementation
|
854
|
+
{
|
855
|
+
private:
|
856
|
+
|
857
|
+
typedef void R;
|
858
|
+
|
859
|
+
public:
|
860
|
+
|
861
|
+
typedef implementation this_type;
|
862
|
+
|
863
|
+
implementation(F f, L const & l): f_(f), l_(l) {}
|
864
|
+
|
865
|
+
#define BOOST_BIND_RETURN
|
866
|
+
#include <boost/bind/bind_template.hpp>
|
867
|
+
#undef BOOST_BIND_RETURN
|
868
|
+
|
869
|
+
};
|
870
|
+
|
871
|
+
};
|
872
|
+
|
873
|
+
template<class R2, class F, class L> class bind_t: public bind_t_generator<R2>::BOOST_NESTED_TEMPLATE implementation<F, L>
|
874
|
+
{
|
875
|
+
public:
|
876
|
+
|
877
|
+
bind_t(F f, L const & l): bind_t_generator<R2>::BOOST_NESTED_TEMPLATE implementation<F, L>(f, l) {}
|
878
|
+
|
879
|
+
};
|
880
|
+
|
881
|
+
#endif
|
882
|
+
|
883
|
+
// function_equal
|
884
|
+
|
885
|
+
#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
886
|
+
|
887
|
+
// put overloads in _bi, rely on ADL
|
888
|
+
|
889
|
+
# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
890
|
+
|
891
|
+
template<class R, class F, class L> bool function_equal( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b )
|
892
|
+
{
|
893
|
+
return a.compare(b);
|
894
|
+
}
|
895
|
+
|
896
|
+
# else
|
897
|
+
|
898
|
+
template<class R, class F, class L> bool function_equal_impl( bind_t<R, F, L> const & a, bind_t<R, F, L> const & b, int )
|
899
|
+
{
|
900
|
+
return a.compare(b);
|
901
|
+
}
|
902
|
+
|
903
|
+
# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
904
|
+
|
905
|
+
#else // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
906
|
+
|
907
|
+
// put overloads in boost
|
908
|
+
|
909
|
+
} // namespace _bi
|
910
|
+
|
911
|
+
# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
912
|
+
|
913
|
+
template<class R, class F, class L> bool function_equal( _bi::bind_t<R, F, L> const & a, _bi::bind_t<R, F, L> const & b )
|
914
|
+
{
|
915
|
+
return a.compare(b);
|
916
|
+
}
|
917
|
+
|
918
|
+
# else
|
919
|
+
|
920
|
+
template<class R, class F, class L> bool function_equal_impl( _bi::bind_t<R, F, L> const & a, _bi::bind_t<R, F, L> const & b, int )
|
921
|
+
{
|
922
|
+
return a.compare(b);
|
923
|
+
}
|
924
|
+
|
925
|
+
# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
926
|
+
|
927
|
+
namespace _bi
|
928
|
+
{
|
929
|
+
|
930
|
+
#endif // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
931
|
+
|
932
|
+
// add_value
|
933
|
+
|
934
|
+
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || (__SUNPRO_CC >= 0x530)
|
935
|
+
|
936
|
+
template<class T> struct add_value
|
937
|
+
{
|
938
|
+
typedef _bi::value<T> type;
|
939
|
+
};
|
940
|
+
|
941
|
+
template<class T> struct add_value< value<T> >
|
942
|
+
{
|
943
|
+
typedef _bi::value<T> type;
|
944
|
+
};
|
945
|
+
|
946
|
+
template<class T> struct add_value< reference_wrapper<T> >
|
947
|
+
{
|
948
|
+
typedef reference_wrapper<T> type;
|
949
|
+
};
|
950
|
+
|
951
|
+
template<int I> struct add_value< arg<I> >
|
952
|
+
{
|
953
|
+
typedef boost::arg<I> type;
|
954
|
+
};
|
955
|
+
|
956
|
+
template<int I> struct add_value< arg<I> (*) () >
|
957
|
+
{
|
958
|
+
typedef boost::arg<I> (*type) ();
|
959
|
+
};
|
960
|
+
|
961
|
+
template<class R, class F, class L> struct add_value< bind_t<R, F, L> >
|
962
|
+
{
|
963
|
+
typedef bind_t<R, F, L> type;
|
964
|
+
};
|
965
|
+
|
966
|
+
#else
|
967
|
+
|
968
|
+
template<int I> struct _avt_0;
|
969
|
+
|
970
|
+
template<> struct _avt_0<1>
|
971
|
+
{
|
972
|
+
template<class T> struct inner
|
973
|
+
{
|
974
|
+
typedef T type;
|
975
|
+
};
|
976
|
+
};
|
977
|
+
|
978
|
+
template<> struct _avt_0<2>
|
979
|
+
{
|
980
|
+
template<class T> struct inner
|
981
|
+
{
|
982
|
+
typedef value<T> type;
|
983
|
+
};
|
984
|
+
};
|
985
|
+
|
986
|
+
typedef char (&_avt_r1) [1];
|
987
|
+
typedef char (&_avt_r2) [2];
|
988
|
+
|
989
|
+
template<class T> _avt_r1 _avt_f(value<T>);
|
990
|
+
template<class T> _avt_r1 _avt_f(reference_wrapper<T>);
|
991
|
+
template<int I> _avt_r1 _avt_f(arg<I>);
|
992
|
+
template<int I> _avt_r1 _avt_f(arg<I> (*) ());
|
993
|
+
template<class R, class F, class L> _avt_r1 _avt_f(bind_t<R, F, L>);
|
994
|
+
|
995
|
+
_avt_r2 _avt_f(...);
|
996
|
+
|
997
|
+
template<class T> struct add_value
|
998
|
+
{
|
999
|
+
static T t();
|
1000
|
+
typedef typename _avt_0<sizeof(_avt_f(t()))>::template inner<T>::type type;
|
1001
|
+
};
|
1002
|
+
|
1003
|
+
#endif
|
1004
|
+
|
1005
|
+
// list_av_N
|
1006
|
+
|
1007
|
+
template<class A1> struct list_av_1
|
1008
|
+
{
|
1009
|
+
typedef typename add_value<A1>::type B1;
|
1010
|
+
typedef list1<B1> type;
|
1011
|
+
};
|
1012
|
+
|
1013
|
+
template<class A1, class A2> struct list_av_2
|
1014
|
+
{
|
1015
|
+
typedef typename add_value<A1>::type B1;
|
1016
|
+
typedef typename add_value<A2>::type B2;
|
1017
|
+
typedef list2<B1, B2> type;
|
1018
|
+
};
|
1019
|
+
|
1020
|
+
template<class A1, class A2, class A3> struct list_av_3
|
1021
|
+
{
|
1022
|
+
typedef typename add_value<A1>::type B1;
|
1023
|
+
typedef typename add_value<A2>::type B2;
|
1024
|
+
typedef typename add_value<A3>::type B3;
|
1025
|
+
typedef list3<B1, B2, B3> type;
|
1026
|
+
};
|
1027
|
+
|
1028
|
+
template<class A1, class A2, class A3, class A4> struct list_av_4
|
1029
|
+
{
|
1030
|
+
typedef typename add_value<A1>::type B1;
|
1031
|
+
typedef typename add_value<A2>::type B2;
|
1032
|
+
typedef typename add_value<A3>::type B3;
|
1033
|
+
typedef typename add_value<A4>::type B4;
|
1034
|
+
typedef list4<B1, B2, B3, B4> type;
|
1035
|
+
};
|
1036
|
+
|
1037
|
+
template<class A1, class A2, class A3, class A4, class A5> struct list_av_5
|
1038
|
+
{
|
1039
|
+
typedef typename add_value<A1>::type B1;
|
1040
|
+
typedef typename add_value<A2>::type B2;
|
1041
|
+
typedef typename add_value<A3>::type B3;
|
1042
|
+
typedef typename add_value<A4>::type B4;
|
1043
|
+
typedef typename add_value<A5>::type B5;
|
1044
|
+
typedef list5<B1, B2, B3, B4, B5> type;
|
1045
|
+
};
|
1046
|
+
|
1047
|
+
template<class A1, class A2, class A3, class A4, class A5, class A6> struct list_av_6
|
1048
|
+
{
|
1049
|
+
typedef typename add_value<A1>::type B1;
|
1050
|
+
typedef typename add_value<A2>::type B2;
|
1051
|
+
typedef typename add_value<A3>::type B3;
|
1052
|
+
typedef typename add_value<A4>::type B4;
|
1053
|
+
typedef typename add_value<A5>::type B5;
|
1054
|
+
typedef typename add_value<A6>::type B6;
|
1055
|
+
typedef list6<B1, B2, B3, B4, B5, B6> type;
|
1056
|
+
};
|
1057
|
+
|
1058
|
+
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> struct list_av_7
|
1059
|
+
{
|
1060
|
+
typedef typename add_value<A1>::type B1;
|
1061
|
+
typedef typename add_value<A2>::type B2;
|
1062
|
+
typedef typename add_value<A3>::type B3;
|
1063
|
+
typedef typename add_value<A4>::type B4;
|
1064
|
+
typedef typename add_value<A5>::type B5;
|
1065
|
+
typedef typename add_value<A6>::type B6;
|
1066
|
+
typedef typename add_value<A7>::type B7;
|
1067
|
+
typedef list7<B1, B2, B3, B4, B5, B6, B7> type;
|
1068
|
+
};
|
1069
|
+
|
1070
|
+
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> struct list_av_8
|
1071
|
+
{
|
1072
|
+
typedef typename add_value<A1>::type B1;
|
1073
|
+
typedef typename add_value<A2>::type B2;
|
1074
|
+
typedef typename add_value<A3>::type B3;
|
1075
|
+
typedef typename add_value<A4>::type B4;
|
1076
|
+
typedef typename add_value<A5>::type B5;
|
1077
|
+
typedef typename add_value<A6>::type B6;
|
1078
|
+
typedef typename add_value<A7>::type B7;
|
1079
|
+
typedef typename add_value<A8>::type B8;
|
1080
|
+
typedef list8<B1, B2, B3, B4, B5, B6, B7, B8> type;
|
1081
|
+
};
|
1082
|
+
|
1083
|
+
template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> struct list_av_9
|
1084
|
+
{
|
1085
|
+
typedef typename add_value<A1>::type B1;
|
1086
|
+
typedef typename add_value<A2>::type B2;
|
1087
|
+
typedef typename add_value<A3>::type B3;
|
1088
|
+
typedef typename add_value<A4>::type B4;
|
1089
|
+
typedef typename add_value<A5>::type B5;
|
1090
|
+
typedef typename add_value<A6>::type B6;
|
1091
|
+
typedef typename add_value<A7>::type B7;
|
1092
|
+
typedef typename add_value<A8>::type B8;
|
1093
|
+
typedef typename add_value<A9>::type B9;
|
1094
|
+
typedef list9<B1, B2, B3, B4, B5, B6, B7, B8, B9> type;
|
1095
|
+
};
|
1096
|
+
|
1097
|
+
// operator!
|
1098
|
+
|
1099
|
+
struct logical_not
|
1100
|
+
{
|
1101
|
+
template<class V> bool operator()(V const & v) const { return !v; }
|
1102
|
+
};
|
1103
|
+
|
1104
|
+
template<class R, class F, class L>
|
1105
|
+
bind_t< bool, logical_not, list1< bind_t<R, F, L> > >
|
1106
|
+
operator! (bind_t<R, F, L> const & f)
|
1107
|
+
{
|
1108
|
+
typedef list1< bind_t<R, F, L> > list_type;
|
1109
|
+
return bind_t<bool, logical_not, list_type> ( logical_not(), list_type(f) );
|
1110
|
+
}
|
1111
|
+
|
1112
|
+
// relational operators
|
1113
|
+
|
1114
|
+
#define BOOST_BIND_OPERATOR( op, name ) \
|
1115
|
+
\
|
1116
|
+
struct name \
|
1117
|
+
{ \
|
1118
|
+
template<class V, class W> bool operator()(V const & v, W const & w) const { return v op w; } \
|
1119
|
+
}; \
|
1120
|
+
\
|
1121
|
+
template<class R, class F, class L, class A2> \
|
1122
|
+
bind_t< bool, name, list2< bind_t<R, F, L>, typename add_value<A2>::type > > \
|
1123
|
+
operator op (bind_t<R, F, L> const & f, A2 a2) \
|
1124
|
+
{ \
|
1125
|
+
typedef typename add_value<A2>::type B2; \
|
1126
|
+
typedef list2< bind_t<R, F, L>, B2> list_type; \
|
1127
|
+
return bind_t<bool, name, list_type> ( name(), list_type(f, a2) ); \
|
1128
|
+
}
|
1129
|
+
|
1130
|
+
BOOST_BIND_OPERATOR( ==, equal )
|
1131
|
+
BOOST_BIND_OPERATOR( !=, not_equal )
|
1132
|
+
|
1133
|
+
BOOST_BIND_OPERATOR( <, less )
|
1134
|
+
BOOST_BIND_OPERATOR( <=, less_equal )
|
1135
|
+
|
1136
|
+
BOOST_BIND_OPERATOR( >, greater )
|
1137
|
+
BOOST_BIND_OPERATOR( >=, greater_equal )
|
1138
|
+
|
1139
|
+
#undef BOOST_BIND_OPERATOR
|
1140
|
+
|
1141
|
+
#if defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3)
|
1142
|
+
|
1143
|
+
// resolve ambiguity with rel_ops
|
1144
|
+
|
1145
|
+
#define BOOST_BIND_OPERATOR( op, name ) \
|
1146
|
+
\
|
1147
|
+
template<class R, class F, class L> \
|
1148
|
+
bind_t< bool, name, list2< bind_t<R, F, L>, bind_t<R, F, L> > > \
|
1149
|
+
operator op (bind_t<R, F, L> const & f, bind_t<R, F, L> const & g) \
|
1150
|
+
{ \
|
1151
|
+
typedef list2< bind_t<R, F, L>, bind_t<R, F, L> > list_type; \
|
1152
|
+
return bind_t<bool, name, list_type> ( name(), list_type(f, g) ); \
|
1153
|
+
}
|
1154
|
+
|
1155
|
+
BOOST_BIND_OPERATOR( !=, not_equal )
|
1156
|
+
BOOST_BIND_OPERATOR( <=, less_equal )
|
1157
|
+
BOOST_BIND_OPERATOR( >, greater )
|
1158
|
+
BOOST_BIND_OPERATOR( >=, greater_equal )
|
1159
|
+
|
1160
|
+
#endif
|
1161
|
+
|
1162
|
+
// visit_each, ADL
|
1163
|
+
|
1164
|
+
#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ ) \
|
1165
|
+
&& !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
|
1166
|
+
|
1167
|
+
template<class V, class T> void visit_each( V & v, value<T> const & t, int )
|
1168
|
+
{
|
1169
|
+
using boost::visit_each;
|
1170
|
+
BOOST_BIND_VISIT_EACH( v, t.get(), 0 );
|
1171
|
+
}
|
1172
|
+
|
1173
|
+
template<class V, class R, class F, class L> void visit_each( V & v, bind_t<R, F, L> const & t, int )
|
1174
|
+
{
|
1175
|
+
t.accept( v );
|
1176
|
+
}
|
1177
|
+
|
1178
|
+
#endif
|
1179
|
+
|
1180
|
+
} // namespace _bi
|
1181
|
+
|
1182
|
+
// visit_each, no ADL
|
1183
|
+
|
1184
|
+
#if defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( __BORLANDC__ ) \
|
1185
|
+
|| (defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3)
|
1186
|
+
|
1187
|
+
template<class V, class T> void visit_each( V & v, _bi::value<T> const & t, int )
|
1188
|
+
{
|
1189
|
+
BOOST_BIND_VISIT_EACH( v, t.get(), 0 );
|
1190
|
+
}
|
1191
|
+
|
1192
|
+
template<class V, class R, class F, class L> void visit_each( V & v, _bi::bind_t<R, F, L> const & t, int )
|
1193
|
+
{
|
1194
|
+
t.accept( v );
|
1195
|
+
}
|
1196
|
+
|
1197
|
+
#endif
|
1198
|
+
|
1199
|
+
// bind
|
1200
|
+
|
1201
|
+
#ifndef BOOST_BIND
|
1202
|
+
#define BOOST_BIND bind
|
1203
|
+
#endif
|
1204
|
+
|
1205
|
+
// generic function objects
|
1206
|
+
|
1207
|
+
template<class R, class F>
|
1208
|
+
_bi::bind_t<R, F, _bi::list0>
|
1209
|
+
BOOST_BIND(F f)
|
1210
|
+
{
|
1211
|
+
typedef _bi::list0 list_type;
|
1212
|
+
return _bi::bind_t<R, F, list_type> (f, list_type());
|
1213
|
+
}
|
1214
|
+
|
1215
|
+
template<class R, class F, class A1>
|
1216
|
+
_bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>
|
1217
|
+
BOOST_BIND(F f, A1 a1)
|
1218
|
+
{
|
1219
|
+
typedef typename _bi::list_av_1<A1>::type list_type;
|
1220
|
+
return _bi::bind_t<R, F, list_type> (f, list_type(a1));
|
1221
|
+
}
|
1222
|
+
|
1223
|
+
template<class R, class F, class A1, class A2>
|
1224
|
+
_bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>
|
1225
|
+
BOOST_BIND(F f, A1 a1, A2 a2)
|
1226
|
+
{
|
1227
|
+
typedef typename _bi::list_av_2<A1, A2>::type list_type;
|
1228
|
+
return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
|
1229
|
+
}
|
1230
|
+
|
1231
|
+
template<class R, class F, class A1, class A2, class A3>
|
1232
|
+
_bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>
|
1233
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)
|
1234
|
+
{
|
1235
|
+
typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
|
1236
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
|
1237
|
+
}
|
1238
|
+
|
1239
|
+
template<class R, class F, class A1, class A2, class A3, class A4>
|
1240
|
+
_bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
|
1241
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)
|
1242
|
+
{
|
1243
|
+
typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
|
1244
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
|
1245
|
+
}
|
1246
|
+
|
1247
|
+
template<class R, class F, class A1, class A2, class A3, class A4, class A5>
|
1248
|
+
_bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
|
1249
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
|
1250
|
+
{
|
1251
|
+
typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
|
1252
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
|
1253
|
+
}
|
1254
|
+
|
1255
|
+
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>
|
1256
|
+
_bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
|
1257
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
|
1258
|
+
{
|
1259
|
+
typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
|
1260
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
|
1261
|
+
}
|
1262
|
+
|
1263
|
+
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
|
1264
|
+
_bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
|
1265
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
|
1266
|
+
{
|
1267
|
+
typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
|
1268
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
|
1269
|
+
}
|
1270
|
+
|
1271
|
+
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
|
1272
|
+
_bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
|
1273
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
|
1274
|
+
{
|
1275
|
+
typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
|
1276
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
|
1277
|
+
}
|
1278
|
+
|
1279
|
+
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
|
1280
|
+
_bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
|
1281
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
|
1282
|
+
{
|
1283
|
+
typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
|
1284
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
|
1285
|
+
}
|
1286
|
+
|
1287
|
+
// generic function objects, alternative syntax
|
1288
|
+
|
1289
|
+
template<class R, class F>
|
1290
|
+
_bi::bind_t<R, F, _bi::list0>
|
1291
|
+
BOOST_BIND(boost::type<R>, F f)
|
1292
|
+
{
|
1293
|
+
typedef _bi::list0 list_type;
|
1294
|
+
return _bi::bind_t<R, F, list_type> (f, list_type());
|
1295
|
+
}
|
1296
|
+
|
1297
|
+
template<class R, class F, class A1>
|
1298
|
+
_bi::bind_t<R, F, typename _bi::list_av_1<A1>::type>
|
1299
|
+
BOOST_BIND(boost::type<R>, F f, A1 a1)
|
1300
|
+
{
|
1301
|
+
typedef typename _bi::list_av_1<A1>::type list_type;
|
1302
|
+
return _bi::bind_t<R, F, list_type> (f, list_type(a1));
|
1303
|
+
}
|
1304
|
+
|
1305
|
+
template<class R, class F, class A1, class A2>
|
1306
|
+
_bi::bind_t<R, F, typename _bi::list_av_2<A1, A2>::type>
|
1307
|
+
BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2)
|
1308
|
+
{
|
1309
|
+
typedef typename _bi::list_av_2<A1, A2>::type list_type;
|
1310
|
+
return _bi::bind_t<R, F, list_type> (f, list_type(a1, a2));
|
1311
|
+
}
|
1312
|
+
|
1313
|
+
template<class R, class F, class A1, class A2, class A3>
|
1314
|
+
_bi::bind_t<R, F, typename _bi::list_av_3<A1, A2, A3>::type>
|
1315
|
+
BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3)
|
1316
|
+
{
|
1317
|
+
typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
|
1318
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3));
|
1319
|
+
}
|
1320
|
+
|
1321
|
+
template<class R, class F, class A1, class A2, class A3, class A4>
|
1322
|
+
_bi::bind_t<R, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
|
1323
|
+
BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4)
|
1324
|
+
{
|
1325
|
+
typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
|
1326
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4));
|
1327
|
+
}
|
1328
|
+
|
1329
|
+
template<class R, class F, class A1, class A2, class A3, class A4, class A5>
|
1330
|
+
_bi::bind_t<R, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
|
1331
|
+
BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
|
1332
|
+
{
|
1333
|
+
typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
|
1334
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
|
1335
|
+
}
|
1336
|
+
|
1337
|
+
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6>
|
1338
|
+
_bi::bind_t<R, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
|
1339
|
+
BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
|
1340
|
+
{
|
1341
|
+
typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
|
1342
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
|
1343
|
+
}
|
1344
|
+
|
1345
|
+
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
|
1346
|
+
_bi::bind_t<R, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
|
1347
|
+
BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
|
1348
|
+
{
|
1349
|
+
typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
|
1350
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
|
1351
|
+
}
|
1352
|
+
|
1353
|
+
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
|
1354
|
+
_bi::bind_t<R, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
|
1355
|
+
BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
|
1356
|
+
{
|
1357
|
+
typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
|
1358
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
|
1359
|
+
}
|
1360
|
+
|
1361
|
+
template<class R, class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
|
1362
|
+
_bi::bind_t<R, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
|
1363
|
+
BOOST_BIND(boost::type<R>, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
|
1364
|
+
{
|
1365
|
+
typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
|
1366
|
+
return _bi::bind_t<R, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
|
1367
|
+
}
|
1368
|
+
|
1369
|
+
#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
|
1370
|
+
|
1371
|
+
// adaptable function objects
|
1372
|
+
|
1373
|
+
template<class F>
|
1374
|
+
_bi::bind_t<_bi::unspecified, F, _bi::list0>
|
1375
|
+
BOOST_BIND(F f)
|
1376
|
+
{
|
1377
|
+
typedef _bi::list0 list_type;
|
1378
|
+
return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type());
|
1379
|
+
}
|
1380
|
+
|
1381
|
+
template<class F, class A1>
|
1382
|
+
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_1<A1>::type>
|
1383
|
+
BOOST_BIND(F f, A1 a1)
|
1384
|
+
{
|
1385
|
+
typedef typename _bi::list_av_1<A1>::type list_type;
|
1386
|
+
return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1));
|
1387
|
+
}
|
1388
|
+
|
1389
|
+
template<class F, class A1, class A2>
|
1390
|
+
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_2<A1, A2>::type>
|
1391
|
+
BOOST_BIND(F f, A1 a1, A2 a2)
|
1392
|
+
{
|
1393
|
+
typedef typename _bi::list_av_2<A1, A2>::type list_type;
|
1394
|
+
return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1, a2));
|
1395
|
+
}
|
1396
|
+
|
1397
|
+
template<class F, class A1, class A2, class A3>
|
1398
|
+
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_3<A1, A2, A3>::type>
|
1399
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3)
|
1400
|
+
{
|
1401
|
+
typedef typename _bi::list_av_3<A1, A2, A3>::type list_type;
|
1402
|
+
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3));
|
1403
|
+
}
|
1404
|
+
|
1405
|
+
template<class F, class A1, class A2, class A3, class A4>
|
1406
|
+
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_4<A1, A2, A3, A4>::type>
|
1407
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4)
|
1408
|
+
{
|
1409
|
+
typedef typename _bi::list_av_4<A1, A2, A3, A4>::type list_type;
|
1410
|
+
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4));
|
1411
|
+
}
|
1412
|
+
|
1413
|
+
template<class F, class A1, class A2, class A3, class A4, class A5>
|
1414
|
+
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_5<A1, A2, A3, A4, A5>::type>
|
1415
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
|
1416
|
+
{
|
1417
|
+
typedef typename _bi::list_av_5<A1, A2, A3, A4, A5>::type list_type;
|
1418
|
+
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5));
|
1419
|
+
}
|
1420
|
+
|
1421
|
+
template<class F, class A1, class A2, class A3, class A4, class A5, class A6>
|
1422
|
+
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type>
|
1423
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
|
1424
|
+
{
|
1425
|
+
typedef typename _bi::list_av_6<A1, A2, A3, A4, A5, A6>::type list_type;
|
1426
|
+
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6));
|
1427
|
+
}
|
1428
|
+
|
1429
|
+
template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7>
|
1430
|
+
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type>
|
1431
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
|
1432
|
+
{
|
1433
|
+
typedef typename _bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type list_type;
|
1434
|
+
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7));
|
1435
|
+
}
|
1436
|
+
|
1437
|
+
template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8>
|
1438
|
+
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type>
|
1439
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
|
1440
|
+
{
|
1441
|
+
typedef typename _bi::list_av_8<A1, A2, A3, A4, A5, A6, A7, A8>::type list_type;
|
1442
|
+
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8));
|
1443
|
+
}
|
1444
|
+
|
1445
|
+
template<class F, class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9>
|
1446
|
+
_bi::bind_t<_bi::unspecified, F, typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type>
|
1447
|
+
BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
|
1448
|
+
{
|
1449
|
+
typedef typename _bi::list_av_9<A1, A2, A3, A4, A5, A6, A7, A8, A9>::type list_type;
|
1450
|
+
return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9));
|
1451
|
+
}
|
1452
|
+
|
1453
|
+
#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
|
1454
|
+
|
1455
|
+
// function pointers
|
1456
|
+
|
1457
|
+
#define BOOST_BIND_CC
|
1458
|
+
#define BOOST_BIND_ST
|
1459
|
+
|
1460
|
+
#include <boost/bind/bind_cc.hpp>
|
1461
|
+
|
1462
|
+
#undef BOOST_BIND_CC
|
1463
|
+
#undef BOOST_BIND_ST
|
1464
|
+
|
1465
|
+
#ifdef BOOST_BIND_ENABLE_STDCALL
|
1466
|
+
|
1467
|
+
#define BOOST_BIND_CC __stdcall
|
1468
|
+
#define BOOST_BIND_ST
|
1469
|
+
|
1470
|
+
#include <boost/bind/bind_cc.hpp>
|
1471
|
+
|
1472
|
+
#undef BOOST_BIND_CC
|
1473
|
+
#undef BOOST_BIND_ST
|
1474
|
+
|
1475
|
+
#endif
|
1476
|
+
|
1477
|
+
#ifdef BOOST_BIND_ENABLE_FASTCALL
|
1478
|
+
|
1479
|
+
#define BOOST_BIND_CC __fastcall
|
1480
|
+
#define BOOST_BIND_ST
|
1481
|
+
|
1482
|
+
#include <boost/bind/bind_cc.hpp>
|
1483
|
+
|
1484
|
+
#undef BOOST_BIND_CC
|
1485
|
+
#undef BOOST_BIND_ST
|
1486
|
+
|
1487
|
+
#endif
|
1488
|
+
|
1489
|
+
#ifdef BOOST_BIND_ENABLE_PASCAL
|
1490
|
+
|
1491
|
+
#define BOOST_BIND_ST pascal
|
1492
|
+
#define BOOST_BIND_CC
|
1493
|
+
|
1494
|
+
#include <boost/bind/bind_cc.hpp>
|
1495
|
+
|
1496
|
+
#undef BOOST_BIND_ST
|
1497
|
+
#undef BOOST_BIND_CC
|
1498
|
+
|
1499
|
+
#endif
|
1500
|
+
|
1501
|
+
// member function pointers
|
1502
|
+
|
1503
|
+
#define BOOST_BIND_MF_NAME(X) X
|
1504
|
+
#define BOOST_BIND_MF_CC
|
1505
|
+
|
1506
|
+
#include <boost/bind/bind_mf_cc.hpp>
|
1507
|
+
|
1508
|
+
#undef BOOST_BIND_MF_NAME
|
1509
|
+
#undef BOOST_BIND_MF_CC
|
1510
|
+
|
1511
|
+
#ifdef BOOST_MEM_FN_ENABLE_CDECL
|
1512
|
+
|
1513
|
+
#define BOOST_BIND_MF_NAME(X) X##_cdecl
|
1514
|
+
#define BOOST_BIND_MF_CC __cdecl
|
1515
|
+
|
1516
|
+
#include <boost/bind/bind_mf_cc.hpp>
|
1517
|
+
|
1518
|
+
#undef BOOST_BIND_MF_NAME
|
1519
|
+
#undef BOOST_BIND_MF_CC
|
1520
|
+
|
1521
|
+
#endif
|
1522
|
+
|
1523
|
+
#ifdef BOOST_MEM_FN_ENABLE_STDCALL
|
1524
|
+
|
1525
|
+
#define BOOST_BIND_MF_NAME(X) X##_stdcall
|
1526
|
+
#define BOOST_BIND_MF_CC __stdcall
|
1527
|
+
|
1528
|
+
#include <boost/bind/bind_mf_cc.hpp>
|
1529
|
+
|
1530
|
+
#undef BOOST_BIND_MF_NAME
|
1531
|
+
#undef BOOST_BIND_MF_CC
|
1532
|
+
|
1533
|
+
#endif
|
1534
|
+
|
1535
|
+
#ifdef BOOST_MEM_FN_ENABLE_FASTCALL
|
1536
|
+
|
1537
|
+
#define BOOST_BIND_MF_NAME(X) X##_fastcall
|
1538
|
+
#define BOOST_BIND_MF_CC __fastcall
|
1539
|
+
|
1540
|
+
#include <boost/bind/bind_mf_cc.hpp>
|
1541
|
+
|
1542
|
+
#undef BOOST_BIND_MF_NAME
|
1543
|
+
#undef BOOST_BIND_MF_CC
|
1544
|
+
|
1545
|
+
#endif
|
1546
|
+
|
1547
|
+
// data member pointers
|
1548
|
+
|
1549
|
+
#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \
|
1550
|
+
|| ( defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, < 0x600 ) )
|
1551
|
+
|
1552
|
+
template<class R, class T, class A1>
|
1553
|
+
_bi::bind_t< R, _mfi::dm<R, T>, typename _bi::list_av_1<A1>::type >
|
1554
|
+
BOOST_BIND(R T::*f, A1 a1)
|
1555
|
+
{
|
1556
|
+
typedef _mfi::dm<R, T> F;
|
1557
|
+
typedef typename _bi::list_av_1<A1>::type list_type;
|
1558
|
+
return _bi::bind_t<R, F, list_type>( F(f), list_type(a1) );
|
1559
|
+
}
|
1560
|
+
|
1561
|
+
#else
|
1562
|
+
|
1563
|
+
namespace _bi
|
1564
|
+
{
|
1565
|
+
|
1566
|
+
template< class Pm, int I > struct add_cref;
|
1567
|
+
|
1568
|
+
template< class M, class T > struct add_cref< M T::*, 0 >
|
1569
|
+
{
|
1570
|
+
typedef M type;
|
1571
|
+
};
|
1572
|
+
|
1573
|
+
template< class M, class T > struct add_cref< M T::*, 1 >
|
1574
|
+
{
|
1575
|
+
typedef M const & type;
|
1576
|
+
};
|
1577
|
+
|
1578
|
+
template< class R, class T > struct add_cref< R (T::*) (), 1 >
|
1579
|
+
{
|
1580
|
+
typedef void type;
|
1581
|
+
};
|
1582
|
+
|
1583
|
+
#if !( defined(__IBMCPP__) && BOOST_WORKAROUND( __IBMCPP__, BOOST_TESTED_AT(600) ) )
|
1584
|
+
|
1585
|
+
template< class R, class T > struct add_cref< R (T::*) () const, 1 >
|
1586
|
+
{
|
1587
|
+
typedef void type;
|
1588
|
+
};
|
1589
|
+
|
1590
|
+
#endif // __IBMCPP__
|
1591
|
+
|
1592
|
+
template<class R> struct isref
|
1593
|
+
{
|
1594
|
+
enum value_type { value = 0 };
|
1595
|
+
};
|
1596
|
+
|
1597
|
+
template<class R> struct isref< R& >
|
1598
|
+
{
|
1599
|
+
enum value_type { value = 1 };
|
1600
|
+
};
|
1601
|
+
|
1602
|
+
template<class R> struct isref< R* >
|
1603
|
+
{
|
1604
|
+
enum value_type { value = 1 };
|
1605
|
+
};
|
1606
|
+
|
1607
|
+
template<class Pm, class A1> struct dm_result
|
1608
|
+
{
|
1609
|
+
typedef typename add_cref< Pm, 1 >::type type;
|
1610
|
+
};
|
1611
|
+
|
1612
|
+
template<class Pm, class R, class F, class L> struct dm_result< Pm, bind_t<R, F, L> >
|
1613
|
+
{
|
1614
|
+
typedef typename bind_t<R, F, L>::result_type result_type;
|
1615
|
+
typedef typename add_cref< Pm, isref< result_type >::value >::type type;
|
1616
|
+
};
|
1617
|
+
|
1618
|
+
} // namespace _bi
|
1619
|
+
|
1620
|
+
template< class A1, class M, class T >
|
1621
|
+
|
1622
|
+
_bi::bind_t<
|
1623
|
+
typename _bi::dm_result< M T::*, A1 >::type,
|
1624
|
+
_mfi::dm<M, T>,
|
1625
|
+
typename _bi::list_av_1<A1>::type
|
1626
|
+
>
|
1627
|
+
|
1628
|
+
BOOST_BIND( M T::*f, A1 a1 )
|
1629
|
+
{
|
1630
|
+
typedef typename _bi::dm_result< M T::*, A1 >::type result_type;
|
1631
|
+
typedef _mfi::dm<M, T> F;
|
1632
|
+
typedef typename _bi::list_av_1<A1>::type list_type;
|
1633
|
+
return _bi::bind_t< result_type, F, list_type >( F( f ), list_type( a1 ) );
|
1634
|
+
}
|
1635
|
+
|
1636
|
+
#endif
|
1637
|
+
|
1638
|
+
} // namespace boost
|
1639
|
+
|
1640
|
+
#ifndef BOOST_BIND_NO_PLACEHOLDERS
|
1641
|
+
|
1642
|
+
# include <boost/bind/placeholders.hpp>
|
1643
|
+
|
1644
|
+
#endif
|
1645
|
+
|
1646
|
+
#ifdef BOOST_MSVC
|
1647
|
+
# pragma warning(default: 4512) // assignment operator could not be generated
|
1648
|
+
# pragma warning(pop)
|
1649
|
+
#endif
|
1650
|
+
|
1651
|
+
#endif // #ifndef BOOST_BIND_HPP_INCLUDED
|