Browse files

remove boost from repo.

  • Loading branch information...
1 parent 2b54de2 commit b4108d6bcf383837abec7a316d20518295a1682f @tokuhirom committed Jul 11, 2012
Showing with 2 additions and 19,666 deletions.
  1. +2 −15 ext/Path/SConstruct
  2. +0 −8 vendor/boost_1_49_0/INSTALL
  3. +0 −263 vendor/boost_1_49_0/Jamroot
  4. +0 −23 vendor/boost_1_49_0/LICENSE_1_0.txt
  5. +0 −17 vendor/boost_1_49_0/boost-build.jam
  6. +0 −66 vendor/boost_1_49_0/boost.css
  7. BIN vendor/boost_1_49_0/boost.png
  8. +0 −27 vendor/boost_1_49_0/boost/accumulators/accumulators.hpp
  9. +0 −219 vendor/boost_1_49_0/boost/accumulators/accumulators_fwd.hpp
  10. +0 −65 vendor/boost_1_49_0/boost/accumulators/framework/accumulator_base.hpp
  11. +0 −29 vendor/boost_1_49_0/boost/accumulators/framework/accumulator_concept.hpp
  12. +0 −401 vendor/boost_1_49_0/boost/accumulators/framework/accumulator_set.hpp
  13. +0 −317 vendor/boost_1_49_0/boost/accumulators/framework/accumulators/droppable_accumulator.hpp
  14. +0 −108 vendor/boost_1_49_0/boost/accumulators/framework/accumulators/external_accumulator.hpp
  15. +0 −89 vendor/boost_1_49_0/boost/accumulators/framework/accumulators/reference_accumulator.hpp
  16. +0 −89 vendor/boost_1_49_0/boost/accumulators/framework/accumulators/value_accumulator.hpp
  17. +0 −411 vendor/boost_1_49_0/boost/accumulators/framework/depends_on.hpp
  18. +0 −27 vendor/boost_1_49_0/boost/accumulators/framework/external.hpp
  19. +0 −229 vendor/boost_1_49_0/boost/accumulators/framework/extractor.hpp
  20. +0 −29 vendor/boost_1_49_0/boost/accumulators/framework/features.hpp
  21. +0 −20 vendor/boost_1_49_0/boost/accumulators/framework/parameters/accumulator.hpp
  22. +0 −20 vendor/boost_1_49_0/boost/accumulators/framework/parameters/sample.hpp
  23. +0 −21 vendor/boost_1_49_0/boost/accumulators/framework/parameters/weight.hpp
  24. +0 −21 vendor/boost_1_49_0/boost/accumulators/framework/parameters/weights.hpp
  25. +0 −75 vendor/boost_1_49_0/boost/accumulators/numeric/detail/function1.hpp
  26. +0 −10 vendor/boost_1_49_0/boost/accumulators/numeric/detail/function2.hpp
  27. +0 −10 vendor/boost_1_49_0/boost/accumulators/numeric/detail/function3.hpp
  28. +0 −10 vendor/boost_1_49_0/boost/accumulators/numeric/detail/function4.hpp
  29. +0 −148 vendor/boost_1_49_0/boost/accumulators/numeric/detail/function_n.hpp
  30. +0 −20 vendor/boost_1_49_0/boost/accumulators/numeric/detail/pod_singleton.hpp
  31. +0 −497 vendor/boost_1_49_0/boost/accumulators/numeric/functional.hpp
  32. +0 −82 vendor/boost_1_49_0/boost/accumulators/numeric/functional/complex.hpp
  33. +0 −360 vendor/boost_1_49_0/boost/accumulators/numeric/functional/valarray.hpp
  34. +0 −329 vendor/boost_1_49_0/boost/accumulators/numeric/functional/vector.hpp
  35. +0 −221 vendor/boost_1_49_0/boost/accumulators/numeric/functional_fwd.hpp
  36. +0 −61 vendor/boost_1_49_0/boost/accumulators/statistics.hpp
  37. +0 −80 vendor/boost_1_49_0/boost/accumulators/statistics/count.hpp
  38. +0 −220 vendor/boost_1_49_0/boost/accumulators/statistics/covariance.hpp
  39. +0 −246 vendor/boost_1_49_0/boost/accumulators/statistics/density.hpp
  40. +0 −99 vendor/boost_1_49_0/boost/accumulators/statistics/error_of.hpp
  41. +0 −73 vendor/boost_1_49_0/boost/accumulators/statistics/error_of_mean.hpp
  42. +0 −293 vendor/boost_1_49_0/boost/accumulators/statistics/extended_p_square.hpp
  43. +0 −319 vendor/boost_1_49_0/boost/accumulators/statistics/extended_p_square_quantile.hpp
  44. +0 −112 vendor/boost_1_49_0/boost/accumulators/statistics/kurtosis.hpp
  45. +0 −85 vendor/boost_1_49_0/boost/accumulators/statistics/max.hpp
  46. +0 −298 vendor/boost_1_49_0/boost/accumulators/statistics/mean.hpp
  47. +0 −301 vendor/boost_1_49_0/boost/accumulators/statistics/median.hpp
  48. +0 −85 vendor/boost_1_49_0/boost/accumulators/statistics/min.hpp
  49. +0 −125 vendor/boost_1_49_0/boost/accumulators/statistics/moment.hpp
  50. +0 −260 vendor/boost_1_49_0/boost/accumulators/statistics/p_square_cumulative_distribution.hpp
  51. +0 −257 vendor/boost_1_49_0/boost/accumulators/statistics/p_square_quantile.hpp
  52. +0 −20 vendor/boost_1_49_0/boost/accumulators/statistics/parameters/quantile_probability.hpp
  53. +0 −401 vendor/boost_1_49_0/boost/accumulators/statistics/peaks_over_threshold.hpp
  54. +0 −205 vendor/boost_1_49_0/boost/accumulators/statistics/pot_quantile.hpp
  55. +0 −211 vendor/boost_1_49_0/boost/accumulators/statistics/pot_tail_mean.hpp
  56. +0 −80 vendor/boost_1_49_0/boost/accumulators/statistics/rolling_count.hpp
  57. +0 −81 vendor/boost_1_49_0/boost/accumulators/statistics/rolling_mean.hpp
  58. +0 −93 vendor/boost_1_49_0/boost/accumulators/statistics/rolling_sum.hpp
  59. +0 −169 vendor/boost_1_49_0/boost/accumulators/statistics/rolling_window.hpp
  60. +0 −114 vendor/boost_1_49_0/boost/accumulators/statistics/skewness.hpp
  61. +0 −29 vendor/boost_1_49_0/boost/accumulators/statistics/stats.hpp
  62. +0 −141 vendor/boost_1_49_0/boost/accumulators/statistics/sum.hpp
  63. +0 −188 vendor/boost_1_49_0/boost/accumulators/statistics/sum_kahan.hpp
  64. +0 −334 vendor/boost_1_49_0/boost/accumulators/statistics/tail.hpp
  65. +0 −246 vendor/boost_1_49_0/boost/accumulators/statistics/tail_mean.hpp
  66. +0 −158 vendor/boost_1_49_0/boost/accumulators/statistics/tail_quantile.hpp
  67. +0 −141 vendor/boost_1_49_0/boost/accumulators/statistics/tail_variate.hpp
  68. +0 −258 vendor/boost_1_49_0/boost/accumulators/statistics/tail_variate_means.hpp
  69. +0 −58 vendor/boost_1_49_0/boost/accumulators/statistics/times2_iterator.hpp
  70. +0 −236 vendor/boost_1_49_0/boost/accumulators/statistics/variance.hpp
  71. +0 −21 vendor/boost_1_49_0/boost/accumulators/statistics/variates/covariate.hpp
  72. +0 −133 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_covariance.hpp
  73. +0 −221 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_density.hpp
  74. +0 −290 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_extended_p_square.hpp
  75. +0 −105 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_kurtosis.hpp
  76. +0 −189 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_mean.hpp
  77. +0 −237 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_median.hpp
  78. +0 −96 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_moment.hpp
  79. +0 −262 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_p_square_cumulative_distribution.hpp
  80. +0 −255 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_p_square_quantile.hpp
  81. +0 −288 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_peaks_over_threshold.hpp
  82. +0 −101 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_skewness.hpp
  83. +0 −116 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_sum.hpp
  84. +0 −138 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_sum_kahan.hpp
  85. +0 −169 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_tail_mean.hpp
  86. +0 −146 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_tail_quantile.hpp
  87. +0 −242 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_tail_variate_means.hpp
  88. +0 −186 vendor/boost_1_49_0/boost/accumulators/statistics/weighted_variance.hpp
  89. +0 −44 vendor/boost_1_49_0/boost/accumulators/statistics/with_error.hpp
  90. +0 −432 vendor/boost_1_49_0/boost/accumulators/statistics_fwd.hpp
  91. +0 −47 vendor/boost_1_49_0/boost/algorithm/minmax.hpp
  92. +0 −551 vendor/boost_1_49_0/boost/algorithm/minmax_element.hpp
  93. +0 −31 vendor/boost_1_49_0/boost/algorithm/string.hpp
  94. +0 −176 vendor/boost_1_49_0/boost/algorithm/string/case_conv.hpp
  95. +0 −312 vendor/boost_1_49_0/boost/algorithm/string/classification.hpp
  96. +0 −199 vendor/boost_1_49_0/boost/algorithm/string/compare.hpp
  97. +0 −83 vendor/boost_1_49_0/boost/algorithm/string/concept.hpp
  98. +0 −28 vendor/boost_1_49_0/boost/algorithm/string/config.hpp
  99. +0 −36 vendor/boost_1_49_0/boost/algorithm/string/constants.hpp
  100. +0 −123 vendor/boost_1_49_0/boost/algorithm/string/detail/case_conv.hpp
  101. +0 −353 vendor/boost_1_49_0/boost/algorithm/string/detail/classification.hpp
  102. +0 −204 vendor/boost_1_49_0/boost/algorithm/string/detail/find_format.hpp
  103. +0 −273 vendor/boost_1_49_0/boost/algorithm/string/detail/find_format_all.hpp
  104. +0 −89 vendor/boost_1_49_0/boost/algorithm/string/detail/find_format_store.hpp
  105. +0 −87 vendor/boost_1_49_0/boost/algorithm/string/detail/find_iterator.hpp
  106. +0 −646 vendor/boost_1_49_0/boost/algorithm/string/detail/finder.hpp
  107. +0 −122 vendor/boost_1_49_0/boost/algorithm/string/detail/finder_regex.hpp
  108. +0 −119 vendor/boost_1_49_0/boost/algorithm/string/detail/formatter.hpp
  109. +0 −61 vendor/boost_1_49_0/boost/algorithm/string/detail/formatter_regex.hpp
  110. +0 −77 vendor/boost_1_49_0/boost/algorithm/string/detail/predicate.hpp
  111. +0 −159 vendor/boost_1_49_0/boost/algorithm/string/detail/replace_storage.hpp
  112. +0 −200 vendor/boost_1_49_0/boost/algorithm/string/detail/sequence.hpp
  113. +0 −95 vendor/boost_1_49_0/boost/algorithm/string/detail/trim.hpp
  114. +0 −106 vendor/boost_1_49_0/boost/algorithm/string/detail/util.hpp
  115. +0 −844 vendor/boost_1_49_0/boost/algorithm/string/erase.hpp
  116. +0 −334 vendor/boost_1_49_0/boost/algorithm/string/find.hpp
  117. +0 −287 vendor/boost_1_49_0/boost/algorithm/string/find_format.hpp
Sorry, we could not display the entire diff because too many files (38,351) changed.
View
17 ext/Path/SConstruct
@@ -13,26 +13,13 @@ env = Environment(
CC=conf['CC'],
CXX=conf['CXX'],
SHLIBPREFIX=conf['SHLIBPREFIX'],
- LIBS=conf['LIBS'],
+ LIBS=conf['LIBS'] + ['boost_filesystem-mt'],
tools=conf['TOOLS'],
)
-if os.name == 'nt':
- extra = [
- '../../vendor/boost_1_49_0/libs/filesystem/v3/src/path_traits.cpp',
- '../../vendor/boost_1_49_0/libs/filesystem/v3/src/windows_file_codecvt.cpp',
- '../../vendor/boost_1_49_0/libs/filesystem/v3/src/codecvt_error_category.cpp',
- ]
-else:
- extra = []
-
-
shlib = env.SharedLibrary("lib/File/Path" + env['SHLIBSUFFIX'], [
'path.cc',
- '../../vendor/boost_1_49_0/libs/system/src/error_code.cpp',
- '../../vendor/boost_1_49_0/libs/filesystem/v3/src/operations.cpp',
- '../../vendor/boost_1_49_0/libs/filesystem/v3/src/path.cpp',
-] + extra, LIBPATH=['../..'])
+], LIBPATH=['../..'])
Default(shlib)
env.Command('test', shlib, conf['TORA_PROVE'] + ' --exec "../../bin/tora -I lib -I ../../lib/" t/*.tra')
View
8 vendor/boost_1_49_0/INSTALL
@@ -1,8 +0,0 @@
-See ./index.html for information about this release. The "Getting Started"
-section is a useful starting place.
-
----------------------------
-Copyright Beman Dawes, 2008
-
-Distributed under the Boost Software License, Version 1.0.
-See ./LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt
View
263 vendor/boost_1_49_0/Jamroot
@@ -1,263 +0,0 @@
-# Copyright Vladimir Prus 2002-2006.
-# Copyright Dave Abrahams 2005-2006.
-# Copyright Rene Rivera 2005-2007.
-# Copyright Douglas Gregor 2005.
-#
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-# Usage:
-#
-# bjam [options] [properties] [install|stage]
-#
-# Builds and installs Boost.
-#
-# Targets and Related Options:
-#
-# install Install headers and compiled library files to the
-# ======= configured locations (below).
-#
-# --prefix=<PREFIX> Install architecture independent files here.
-# Default; C:\Boost on Win32
-# Default; /usr/local on Unix. Linux, etc.
-#
-# --exec-prefix=<EPREFIX> Install architecture dependent files here.
-# Default; <PREFIX>
-#
-# --libdir=<DIR> Install library files here.
-# Default; <EPREFIX>/lib
-#
-# --includedir=<HDRDIR> Install header files here.
-# Default; <PREFIX>/include
-#
-# stage Build and install only compiled library files
-# ===== to the stage directory.
-#
-# --stagedir=<STAGEDIR> Install library files here
-# Default; ./stage
-#
-# Other Options:
-#
-# --build-type=<type> Build the specified pre-defined set of variations
-# of the libraries. Note, that which variants get
-# built depends on what each library supports.
-#
-# minimal (default) - Builds a minimal set of
-# variants. On Windows, these are static
-# multithreaded libraries in debug and release
-# modes, using shared runtime. On Linux, these
-# are static and shared multithreaded libraries
-# in release mode.
-#
-# complete - Build all possible variations.
-#
-# --build-dir=DIR Build in this location instead of building
-# within the distribution tree. Recommended!
-#
-# --show-libraries Displays the list of Boost libraries that require
-# build and installation steps, then exit.
-#
-# --layout=<layout> Determines whether to choose library names
-# and header locations such that multiple
-# versions of Boost or multiple compilers can
-# be used on the same system.
-#
-# versioned - Names of boost binaries
-# include the Boost version number, name and
-# version of the compiler and encoded build
-# properties. Boost headers are installed in a
-# subdirectory of <HDRDIR> whose name contains
-# the Boost version number.
-#
-# tagged -- Names of boost binaries include the
-# encoded build properties such as variant and
-# threading, but do not including compiler name
-# and version, or Boost version. This option is
-# useful if you build several variants of Boost,
-# using the same compiler.
-#
-# system - Binaries names do not include the
-# Boost version number or the name and version
-# number of the compiler. Boost headers are
-# installed directly into <HDRDIR>. This option
-# is intended for system integrators who are
-# building distribution packages.
-#
-# The default value is 'versioned' on Windows, and
-# 'system' on Unix.
-#
-# --buildid=ID Adds the specified ID to the name of built
-# libraries. The default is to not add anything.
-#
-# --python-buildid=ID Adds the specified ID to the name of built
-# libraries that depend on Python. The default
-# is to not add anything. This ID is added in
-# addition to --buildid.
-#
-#
-# --help This message.
-#
-# --with-<library> Build and install the specified <library>
-# If this option is used, only libraries
-# specified using this option will be built.
-#
-# --without-<library> Do not build, stage, or install the specified
-# <library>. By default, all libraries are built.
-#
-# Properties:
-#
-# toolset=toolset Indicates the toolset to build with.
-#
-# variant=debug|release Select the build variant
-#
-# link=static|shared Whether to build static or shared libraries
-#
-# threading=single|multi Whether to build single or multithreaded binaries
-#
-# runtime-link=static|shared
-# Whether to link to static or shared C and C++ runtime.
-#
-
-# TODO:
-# - handle boost version
-# - handle python options such as pydebug
-
-import boostcpp ;
-import package ;
-
-import sequence ;
-import xsltproc ;
-import set ;
-import path ;
-
-path-constant BOOST_ROOT : . ;
-constant BOOST_VERSION : 1.49.0 ;
-constant BOOST_JAMROOT_MODULE : $(__name__) ;
-
-boostcpp.set-version $(BOOST_VERSION) ;
-
-project boost
- : requirements <include>.
- # Disable auto-linking for all targets here, primarily because it caused
- # troubles with V2.
- <define>BOOST_ALL_NO_LIB=1
- # Used to encode variant in target name. See the 'tag' rule below.
- <tag>@$(__name__).tag
- <conditional>@handle-static-runtime
- # The standard library Sun compilers use by default has no chance
- # of working with Boost. Override it.
- <toolset>sun:<stdlib>sun-stlport
- # Comeau does not support shared lib
- <toolset>como:<link>static
- <toolset>como-linux:<define>_GNU_SOURCE=1
- # When building docs within Boost, we want the standard Boost style
- <xsl:param>boost.defaults=Boost
- : usage-requirements <include>.
- : build-dir bin.v2
- ;
-
-# This rule is called by Boost.Build to determine the name of target. We use it
-# to encode the build variant, compiler name and boost version in the target
-# name.
-#
-rule tag ( name : type ? : property-set )
-{
- return [ boostcpp.tag $(name) : $(type) : $(property-set) ] ;
-}
-
-rule handle-static-runtime ( properties * )
-{
- # Using static runtime with shared libraries is impossible on Linux,
- # and dangerous on Windows. Therefore, we disallow it. This might
- # be drastic, but it was disabled for a while with nobody complaining.
-
- # For CW, static runtime is needed so that std::locale works.
- if <link>shared in $(properties) && <runtime-link>static in $(properties) &&
- ! ( <toolset>cw in $(properties) )
- {
- ECHO "error: link=shared together with runtime-link=static is not allowed" ;
- ECHO "error: such property combination is either impossible " ;
- ECHO "error: or too dangerious to be of any use" ;
- EXIT ;
- }
-}
-
-all-libraries = [ MATCH .*libs/(.*)/build/.* : [ glob libs/*/build/Jamfile.v2 ]
- [ glob libs/*/build/Jamfile ] ]
- ;
-
-all-libraries = [ sequence.unique $(all-libraries) ] ;
-# The function_types library has a Jamfile, but it's used for maintenance
-# purposes, there's no library to build and install.
-all-libraries = [ set.difference $(all-libraries) : function_types ] ;
-
-# Setup convenient aliases for all libraries.
-
-local rule explicit-alias ( id : targets + )
-{
- alias $(id) : $(targets) ;
- explicit $(id) ;
-}
-
-# First, the complicated libraries: where the target name in Jamfile is
-# different from its directory name.
-explicit-alias prg_exec_monitor : libs/test/build//boost_prg_exec_monitor ;
-explicit-alias test_exec_monitor : libs/test/build//boost_test_exec_monitor ;
-explicit-alias unit_test_framework : libs/test/build//boost_unit_test_framework ;
-explicit-alias bgl-vis : libs/graps/build//bgl-vis ;
-explicit-alias serialization : libs/serialization/build//boost_serialization ;
-explicit-alias wserialization : libs/serialization/build//boost_wserialization ;
-for local l in $(all-libraries)
-{
- if ! $(l) in test graph serialization
- {
- explicit-alias $(l) : libs/$(l)/build//boost_$(l) ;
- }
-}
-
-alias headers : : : : <include>. ;
-explicit headers ;
-
-# Make project ids of all libraries known.
-for local l in $(all-libraries)
-{
- use-project /boost/$(l) : libs/$(l)/build ;
-}
-
-# This rule should be called from libraries' Jamfiles and will create two
-# targets, "install" and "stage", that will install or stage that library. The
-# --prefix option is respected, but --with and --without options, naturally, are
-# ignored.
-#
-# - libraries -- list of library targets to install.
-#
-rule boost-install ( libraries * )
-{
- package.install install
- : <dependency>/boost//install-proper-headers $(install-requirements)
- : # No binaries
- : $(libraries)
- : # No headers, it is handled by the dependency.
- ;
-
- install stage : $(libraries) : <location>$(BOOST_STAGE_LOCATE) ;
-
- module [ CALLER_MODULE ]
- {
- explicit stage ;
- explicit install ;
- }
-}
-
-headers =
- # The .SUNWCCh files are present in tr1 include directory and have to be installed,
- # see http://lists.boost.org/Archives/boost/2007/05/121430.php
- [ path.glob-tree $(BOOST_ROOT)/boost : *.hpp *.ipp *.h *.inc *.SUNWCCh : CVS .svn ]
- [ path.glob-tree $(BOOST_ROOT)/boost/compatibility/cpp_c_headers : c* : CVS .svn ]
- [ path.glob boost/tr1/tr1 : * : bcc32 sun CVS .svn ]
- ;
-
-# Declare special top-level targets that build and install the desired variants
-# of the libraries.
-boostcpp.declare-targets $(all-libraries) : $(headers) ;
View
23 vendor/boost_1_49_0/LICENSE_1_0.txt
@@ -1,23 +0,0 @@
-Boost Software License - Version 1.0 - August 17th, 2003
-
-Permission is hereby granted, free of charge, to any person or organization
-obtaining a copy of the software and accompanying documentation covered by
-this license (the "Software") to use, reproduce, display, distribute,
-execute, and transmit the Software, and to prepare derivative works of the
-Software, and to permit third-parties to whom the Software is furnished to
-do so, all subject to the following:
-
-The copyright notices in the Software and this entire statement, including
-the above license grant, this restriction and the following disclaimer,
-must be included in all copies of the Software, in whole or in part, and
-all derivative works of the Software, unless such copies or derivative
-works are solely in the form of machine-executable object code generated by
-a source language processor.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
View
17 vendor/boost_1_49_0/boost-build.jam
@@ -1,17 +0,0 @@
-# Copyright (C) 2002-2003 David Abrahams.
-# Copyright (C) 2002-2003 Vladimir Prus.
-# Copyright (C) 2003,2007 Rene Rivera.
-# Use, modification and distribution are subject to the
-# Boost Software License, Version 1.0. (See accompanying file
-# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-# This is the initial file loaded by Boost Jam when run from any Boost library
-# folder. It allows us to choose which Boost Build installation to use for
-# building Boost libraries. Unless explicitly selected using a command-line
-# option, the version included with the Boost library distribution is used (as
-# opposed to any other Boost Build version installed on the user's sytem).
-
-BOOST_ROOT = $(.boost-build-file:D) ;
-BOOST_BUILD = [ MATCH --boost-build=(.*) : $(ARGV) ] ;
-BOOST_BUILD ?= tools/build/v2 ;
-boost-build $(BOOST_BUILD) ;
View
66 vendor/boost_1_49_0/boost.css
@@ -1,66 +0,0 @@
-/*=============================================================================
- Copyright 2002 William E. Kempf
- Distributed under the Boost Software License, Version 1.0. (See accompany-
- ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-=============================================================================*/
-
-H1
-{
- FONT-SIZE: 200%;
- COLOR: #00008B;
-}
-H2
-{
- FONT-SIZE: 150%;
-}
-H3
-{
- FONT-SIZE: 125%;
-}
-H4
-{
- FONT-SIZE: 108%;
-}
-BODY
-{
- FONT-SIZE: 100%;
- BACKGROUND-COLOR: #ffffff;
- COLOR: #000000;
-}
-PRE
-{
- MARGIN-LEFT: 2em;
- FONT-FAMILY: Courier,
- monospace;
-}
-CODE
-{
- FONT-FAMILY: Courier,
- monospace;
-}
-CODE.as_pre
-{
- white-space: pre;
-}
-.index
-{
- TEXT-ALIGN: left;
-}
-.page-index
-{
- TEXT-ALIGN: left;
-}
-.definition
-{
- TEXT-ALIGN: left;
-}
-.footnote
-{
- FONT-SIZE: 66%;
- VERTICAL-ALIGN: super;
- TEXT-DECORATION: none;
-}
-.function-semantics
-{
- CLEAR: left;
-}
View
BIN vendor/boost_1_49_0/boost.png
Deleted file not rendered
View
27 vendor/boost_1_49_0/boost/accumulators/accumulators.hpp
@@ -1,27 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-/// \file accumulators.hpp
-/// Includes all of the Accumulators Framework
-//
-// Copyright 2005 Eric Niebler. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ACCUMULATORS_ACCUMULATORS_HPP_EAN_28_10_2005
-#define BOOST_ACCUMULATORS_ACCUMULATORS_HPP_EAN_28_10_2005
-
-#include <boost/accumulators/framework/accumulator_set.hpp>
-#include <boost/accumulators/framework/accumulator_concept.hpp>
-#include <boost/accumulators/framework/accumulator_base.hpp>
-#include <boost/accumulators/framework/extractor.hpp>
-#include <boost/accumulators/framework/external.hpp>
-#include <boost/accumulators/framework/features.hpp>
-#include <boost/accumulators/framework/parameters/accumulator.hpp>
-#include <boost/accumulators/framework/parameters/sample.hpp>
-#include <boost/accumulators/framework/parameters/weight.hpp>
-#include <boost/accumulators/framework/parameters/weights.hpp>
-#include <boost/accumulators/framework/accumulators/external_accumulator.hpp>
-#include <boost/accumulators/framework/accumulators/droppable_accumulator.hpp>
-#include <boost/accumulators/framework/accumulators/reference_accumulator.hpp>
-#include <boost/accumulators/framework/accumulators/value_accumulator.hpp>
-
-#endif
View
219 vendor/boost_1_49_0/boost/accumulators/accumulators_fwd.hpp
@@ -1,219 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// accumulators_fwd.hpp
-//
-// Copyright 2005 Eric Niebler. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ACCUMULATORS_ACCUMULATORS_FWD_HPP_EAN_28_10_2005
-#define BOOST_ACCUMULATORS_ACCUMULATORS_FWD_HPP_EAN_28_10_2005
-
-#include <boost/config.hpp>
-#include <boost/mpl/apply_fwd.hpp> // for mpl::na
-#include <boost/mpl/limits/vector.hpp>
-#include <boost/preprocessor/arithmetic/inc.hpp>
-#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_binary_params.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/accumulators/numeric/functional_fwd.hpp>
-
-#ifndef BOOST_ACCUMULATORS_MAX_FEATURES
- /// The maximum number of accumulators that may be put in an accumulator_set.
- /// Defaults to BOOST_MPL_LIMIT_VECTOR_SIZE (which defaults to 20).
-# define BOOST_ACCUMULATORS_MAX_FEATURES BOOST_MPL_LIMIT_VECTOR_SIZE
-#endif
-
-#if BOOST_ACCUMULATORS_MAX_FEATURES > BOOST_MPL_LIMIT_VECTOR_SIZE
-# error BOOST_ACCUMULATORS_MAX_FEATURES cannot be larger than BOOST_MPL_LIMIT_VECTOR_SIZE
-#endif
-
-#ifndef BOOST_ACCUMULATORS_MAX_ARGS
- /// The maximum number of arguments that may be specified to an accumulator_set's
- /// accumulation function. Defaults to 15.
-# define BOOST_ACCUMULATORS_MAX_ARGS 15
-#endif
-
-#if BOOST_WORKAROUND(__GNUC__, == 3) \
- || BOOST_WORKAROUND(__EDG_VERSION__, BOOST_TESTED_AT(306))
-# define BOOST_ACCUMULATORS_BROKEN_CONST_OVERLOADS
-#endif
-
-#ifdef BOOST_ACCUMULATORS_BROKEN_CONST_OVERLOADS
-# include <boost/utility/enable_if.hpp>
-# include <boost/type_traits/is_const.hpp>
-# define BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST(T)\
- , typename boost::disable_if<boost::is_const<T> >::type * = 0
-#else
-# define BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST(T)
-#endif
-
-#define BOOST_ACCUMULATORS_GCC_VERSION \
- (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
-
-namespace boost { namespace accumulators
-{
-
-///////////////////////////////////////////////////////////////////////////////
-// Named parameters tags
-//
-namespace tag
-{
- struct sample;
- struct weight;
- struct accumulator;
- struct weights;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// User-level features
-//
-namespace tag
-{
- template<typename ValueType, typename Tag>
- struct value;
-
- template<typename Tag>
- struct value_tag;
-
- template<typename Referent, typename Tag>
- struct reference;
-
- template<typename Tag>
- struct reference_tag;
-
- template<typename Type, typename Tag = void, typename AccumulatorSet = void>
- struct external;
-
- template<typename Feature>
- struct droppable;
-}
-
-template<typename Accumulator>
-struct droppable_accumulator_base;
-
-template<typename Accumulator>
-struct droppable_accumulator;
-
-template<typename Accumulator>
-struct with_cached_result;
-
-template<typename Sample, typename Features, typename Weight = void>
-struct accumulator_set;
-
-template<typename Feature>
-struct extractor;
-
-template<typename Feature>
-struct feature_of;
-
-template<typename Feature>
-struct as_feature;
-
-template<typename Feature>
-struct as_weighted_feature;
-
-template<BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_ACCUMULATORS_MAX_FEATURES, typename Feature, mpl::na)>
-struct depends_on;
-
-template<BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_ACCUMULATORS_MAX_FEATURES, typename Feature, mpl::na)>
-struct features;
-
-template<typename Feature, typename AccumulatorSet>
-typename mpl::apply<AccumulatorSet, Feature>::type const &
-find_accumulator(AccumulatorSet const &acc);
-
-template<typename Feature, typename AccumulatorSet>
-typename mpl::apply<AccumulatorSet, Feature>::type::result_type
-extract_result(AccumulatorSet const &acc);
-
-template<typename Feature, typename AccumulatorSet, typename A1>
-typename mpl::apply<AccumulatorSet, Feature>::type::result_type
-extract_result(AccumulatorSet const &acc, A1 const &a1);
-
-// ... other overloads generated by Boost.Preprocessor:
-
-/// INTERNAL ONLY
-///
-#define BOOST_ACCUMULATORS_EXTRACT_RESULT_FWD(z, n, _) \
- template< \
- typename Feature \
- , typename AccumulatorSet \
- BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, typename A) \
- > \
- typename mpl::apply<AccumulatorSet, Feature>::type::result_type \
- extract_result( \
- AccumulatorSet const &acc \
- BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, n, A, const &a) \
- );
-
-/// INTERNAL ONLY
-///
-BOOST_PP_REPEAT_FROM_TO(
- 2
- , BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS)
- , BOOST_ACCUMULATORS_EXTRACT_RESULT_FWD
- , _
-)
-
-#ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED
-template<typename Feature, typename AccumulatorSet, typename A1, typename A2 ...>
-typename mpl::apply<AccumulatorSet, Feature>::type::result_type
-extract_result(AccumulatorSet const &acc, A1 const &a1, A2 const &a2 ...);
-#endif
-
-namespace impl
-{
- using namespace numeric::operators;
-
- template<typename Accumulator, typename Tag>
- struct external_impl;
-}
-
-namespace detail
-{
- template<typename Accumulator>
- struct feature_tag;
-
- template<typename Feature, typename Sample, typename Weight>
- struct to_accumulator;
-
- struct accumulator_set_base;
-
- template<typename T>
- struct is_accumulator_set;
-
- inline void ignore_variable(void const *) {}
-
- #define BOOST_ACCUMULATORS_IGNORE_GLOBAL(X)\
- namespace detail { inline void BOOST_PP_CAT(ignore_, X)() { boost::accumulators::detail::ignore_variable(&X); } }
-}
-
-}} // namespace boost::accumulators
-
-// For defining boost::parameter keywords that can be inherited from to
-// get a nested, class-scoped keyword with the requested alias
-#define BOOST_PARAMETER_NESTED_KEYWORD(tag_namespace, name, alias) \
- namespace tag_namespace \
- { \
- template<int Dummy = 0> \
- struct name ## _ \
- { \
- static char const* keyword_name() \
- { \
- return #name; \
- } \
- static ::boost::parameter::keyword<name ## _<Dummy> > &alias; \
- }; \
- template<int Dummy> \
- ::boost::parameter::keyword<name ## _<Dummy> > &name ## _<Dummy>::alias = \
- ::boost::parameter::keyword<name ## _<Dummy> >::get(); \
- typedef name ## _ <> name; \
- } \
- namespace \
- { \
- ::boost::parameter::keyword<tag_namespace::name> &name = \
- ::boost::parameter::keyword<tag_namespace::name>::get(); \
- }
-
-#endif
View
65 vendor/boost_1_49_0/boost/accumulators/framework/accumulator_base.hpp
@@ -1,65 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// accumulator_base.hpp
-//
-// Copyright 2005 Eric Niebler. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_BASE_HPP_EAN_28_10_2005
-#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_BASE_HPP_EAN_28_10_2005
-
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/joint_view.hpp>
-#include <boost/mpl/single_view.hpp>
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/contains.hpp>
-#include <boost/mpl/empty_sequence.hpp>
-#include <boost/accumulators/framework/accumulator_concept.hpp>
-
-namespace boost { namespace accumulators
-{
-
-namespace detail
-{
- typedef void void_;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// dont_care
-//
-struct dont_care
-{
- template<typename Args>
- dont_care(Args const &)
- {
- }
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// accumulator_base
-//
-struct accumulator_base
-{
- // hidden if defined in derived classes
- detail::void_ operator ()(dont_care)
- {
- }
-
- typedef mpl::false_ is_droppable;
-
- detail::void_ add_ref(dont_care)
- {
- }
-
- detail::void_ drop(dont_care)
- {
- }
-
- detail::void_ on_drop(dont_care)
- {
- }
-};
-
-}} // namespace boost::accumulators
-
-#endif
View
29 vendor/boost_1_49_0/boost/accumulators/framework/accumulator_concept.hpp
@@ -1,29 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// accumulator_concept.hpp
-//
-// Copyright 2005 Eric Niebler. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATOR_CONCEPT_HPP_EAN_28_10_2005
-#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATOR_CONCEPT_HPP_EAN_28_10_2005
-
-#include <boost/concept_check.hpp>
-
-namespace boost { namespace accumulators
-{
-
-template<typename Stat>
-struct accumulator_concept
-{
- void constraints()
- {
- // TODO: define the stat concept
- }
-
- Stat stat;
-};
-
-}} // namespace boost::accumulators
-
-#endif
View
401 vendor/boost_1_49_0/boost/accumulators/framework/accumulator_set.hpp
@@ -1,401 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// accumulator_set.hpp
-//
-// Copyright 2005 Eric Niebler. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATOR_SET_HPP_EAN_28_10_2005
-#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATOR_SET_HPP_EAN_28_10_2005
-
-#include <boost/version.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/protect.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/parameter/parameters.hpp>
-#include <boost/preprocessor/repetition/repeat_from_to.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/accumulators/accumulators_fwd.hpp>
-#include <boost/accumulators/framework/depends_on.hpp>
-#include <boost/accumulators/framework/accumulator_concept.hpp>
-#include <boost/accumulators/framework/parameters/accumulator.hpp>
-#include <boost/accumulators/framework/parameters/sample.hpp>
-#include <boost/accumulators/framework/accumulators/external_accumulator.hpp>
-#include <boost/accumulators/framework/accumulators/droppable_accumulator.hpp>
-#include <boost/fusion/include/any.hpp>
-#include <boost/fusion/include/find_if.hpp>
-#include <boost/fusion/include/for_each.hpp>
-#include <boost/fusion/include/filter_view.hpp>
-
-namespace boost { namespace accumulators
-{
-
-namespace detail
-{
- ///////////////////////////////////////////////////////////////////////////////
- // accumulator_visitor
- // wrap a boost::parameter argument pack in a Fusion extractor object
- template<typename Args>
- struct accumulator_visitor
- {
- explicit accumulator_visitor(Args const &a)
- : args(a)
- {
- }
-
- template<typename Accumulator>
- void operator ()(Accumulator &accumulator) const
- {
- accumulator(this->args);
- }
-
- private:
- accumulator_visitor &operator =(accumulator_visitor const &);
- Args const &args;
- };
-
- template<typename Args>
- inline accumulator_visitor<Args> const make_accumulator_visitor(Args const &args)
- {
- return accumulator_visitor<Args>(args);
- }
-
- typedef
- parameter::parameters<
- parameter::required<tag::accumulator>
- , parameter::optional<tag::sample>
- // ... and others which are not specified here...
- >
- accumulator_params;
-
- ///////////////////////////////////////////////////////////////////////////////
- // accumulator_set_base
- struct accumulator_set_base
- {
- };
-
- ///////////////////////////////////////////////////////////////////////////////
- // is_accumulator_set
- template<typename T>
- struct is_accumulator_set
- : is_base_and_derived<accumulator_set_base, T>
- {
- };
-
-} // namespace detail
-
-#ifdef _MSC_VER
-#pragma warning(push)
-#pragma warning(disable: 4355) // warning C4355: 'this' : used in base member initializer list
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief A set of accumulators.
-///
-/// accumulator_set resolves the dependencies between features and ensures that
-/// the accumulators in the set are updated in the proper order.
-///
-/// acccumulator_set provides a general mechanism to visit the accumulators
-/// in the set in order, with or without a filter. You can also fetch a reference
-/// to an accumulator that corresponds to a feature.
-///
-template<typename Sample, typename Features, typename Weight>
-struct accumulator_set
- : detail::accumulator_set_base
-{
- typedef Sample sample_type; ///< The type of the samples that will be accumulated
- typedef Features features_type; ///< An MPL sequence of the features that should be accumulated.
- typedef Weight weight_type; ///< The type of the weight parameter. Must be a scalar. Defaults to void.
-
- /// INTERNAL ONLY
- ///
- typedef
- typename detail::make_accumulator_tuple<
- Features
- , Sample
- , Weight
- >::type
- accumulators_mpl_vector;
-
- // generate a fusion::list of accumulators
- /// INTERNAL ONLY
- ///
- typedef
- typename detail::meta::make_acc_list<
- accumulators_mpl_vector
- >::type
- accumulators_type;
-
- /// INTERNAL ONLY
- ///
- //BOOST_MPL_ASSERT((mpl::is_sequence<accumulators_type>));
-
- ///////////////////////////////////////////////////////////////////////////////
- /// default-construct all contained accumulators
- accumulator_set()
- : accumulators(
- detail::make_acc_list(
- accumulators_mpl_vector()
- , detail::accumulator_params()(*this)
- )
- )
- {
- // Add-ref the Features that the user has specified
- this->template visit_if<detail::contains_feature_of_<Features> >(
- detail::make_add_ref_visitor(detail::accumulator_params()(*this))
- );
- }
-
- /// \overload
- ///
- /// \param a1 Optional named parameter to be passed to all the accumulators
- template<typename A1>
- explicit accumulator_set(A1 const &a1)
- : accumulators(
- detail::make_acc_list(
- accumulators_mpl_vector()
- , detail::accumulator_params()(*this, a1)
- )
- )
- {
- // Add-ref the Features that the user has specified
- this->template visit_if<detail::contains_feature_of_<Features> >(
- detail::make_add_ref_visitor(detail::accumulator_params()(*this))
- );
- }
-
- // ... other overloads generated by Boost.Preprocessor:
-
- /// INTERNAL ONLY
- ///
-#define BOOST_ACCUMULATORS_ACCUMULATOR_SET_CTOR(z, n, _) \
- template<BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
- accumulator_set(BOOST_PP_ENUM_BINARY_PARAMS_Z(z, n, A, const &a)) \
- : accumulators( \
- detail::make_acc_list( \
- accumulators_mpl_vector() \
- , detail::accumulator_params()( \
- *this BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, a) \
- ) \
- ) \
- ) \
- { \
- /* Add-ref the Features that the user has specified */ \
- this->template visit_if<detail::contains_feature_of_<Features> >( \
- detail::make_add_ref_visitor(detail::accumulator_params()(*this)) \
- ); \
- }
-
- /// INTERNAL ONLY
- ///
- BOOST_PP_REPEAT_FROM_TO(
- 2
- , BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS)
- , BOOST_ACCUMULATORS_ACCUMULATOR_SET_CTOR
- , _
- )
-
- #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED
- /// \overload
- ///
- template<typename A1, typename A2, ...>
- accumulator_set(A1 const &a1, A2 const &a2, ...);
- #endif
-
- // ... other overloads generated by Boost.Preprocessor below ...
-
- ///////////////////////////////////////////////////////////////////////////////
- /// Visitation
- /// \param func UnaryFunction which is invoked with each accumulator in turn.
- template<typename UnaryFunction>
- void visit(UnaryFunction const &func)
- {
- fusion::for_each(this->accumulators, func);
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- /// Conditional visitation
- /// \param func UnaryFunction which is invoked with each accumulator in turn,
- /// provided the accumulator satisfies the MPL predicate FilterPred.
- template<typename FilterPred, typename UnaryFunction>
- void visit_if(UnaryFunction const &func)
- {
- fusion::filter_view<accumulators_type, FilterPred> filtered_accs(this->accumulators);
- fusion::for_each(filtered_accs, func);
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- /// The return type of the operator() overloads is void.
- typedef void result_type;
-
- ///////////////////////////////////////////////////////////////////////////////
- /// Accumulation
- /// \param a1 Optional named parameter to be passed to all the accumulators
- void operator ()()
- {
- this->visit(
- detail::make_accumulator_visitor(
- detail::accumulator_params()(*this)
- )
- );
- }
-
- template<typename A1>
- void operator ()(A1 const &a1)
- {
- this->visit(
- detail::make_accumulator_visitor(
- detail::accumulator_params()(*this, a1)
- )
- );
- }
-
- // ... other overloads generated by Boost.Preprocessor:
-
- /// INTERNAL ONLY
- ///
-#define BOOST_ACCUMULATORS_ACCUMULATOR_SET_FUN_OP(z, n, _) \
- template<BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
- void operator ()(BOOST_PP_ENUM_BINARY_PARAMS_Z(z, n, A, const &a)) \
- { \
- this->visit( \
- detail::make_accumulator_visitor( \
- detail::accumulator_params()( \
- *this BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, a) \
- ) \
- ) \
- ); \
- }
-
- /// INTERNAL ONLY
- ///
- BOOST_PP_REPEAT_FROM_TO(
- 2
- , BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS)
- , BOOST_ACCUMULATORS_ACCUMULATOR_SET_FUN_OP
- , _
- )
-
- #ifdef BOOST_ACCUMULATORS_DOXYGEN_INVOKED
- /// \overload
- ///
- template<typename A1, typename A2, ...>
- void operator ()(A1 const &a1, A2 const &a2, ...);
- #endif
-
- ///////////////////////////////////////////////////////////////////////////////
- /// Extraction
- template<typename Feature>
- struct apply
- : fusion::result_of::value_of<
- typename fusion::result_of::find_if<
- accumulators_type
- , detail::matches_feature<Feature>
- >::type
- >
- {
- };
-
- ///////////////////////////////////////////////////////////////////////////////
- /// Extraction
- template<typename Feature>
- typename apply<Feature>::type &extract()
- {
- return *fusion::find_if<detail::matches_feature<Feature> >(this->accumulators);
- }
-
- /// \overload
- template<typename Feature>
- typename apply<Feature>::type const &extract() const
- {
- return *fusion::find_if<detail::matches_feature<Feature> >(this->accumulators);
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- /// Drop
- template<typename Feature>
- void drop()
- {
- // You can only drop the features that you have specified explicitly
- typedef typename apply<Feature>::type the_accumulator;
- BOOST_MPL_ASSERT((detail::contains_feature_of<Features, the_accumulator>));
-
- typedef
- typename feature_of<typename as_feature<Feature>::type>::type
- the_feature;
-
- (*fusion::find_if<detail::matches_feature<Feature> >(this->accumulators))
- .drop(detail::accumulator_params()(*this));
-
- // Also drop accumulators that this feature depends on
- typedef typename the_feature::dependencies dependencies;
- this->template visit_if<detail::contains_feature_of_<dependencies> >(
- detail::make_drop_visitor(detail::accumulator_params()(*this))
- );
- }
-
-private:
-
- accumulators_type accumulators;
-};
-
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-
-///////////////////////////////////////////////////////////////////////////////
-// find_accumulator
-// find an accumulator in an accumulator_set corresponding to a feature
-template<typename Feature, typename AccumulatorSet>
-typename mpl::apply<AccumulatorSet, Feature>::type &
-find_accumulator(AccumulatorSet &acc BOOST_ACCUMULATORS_PROTO_DISABLE_IF_IS_CONST(AccumulatorSet))
-{
- return acc.template extract<Feature>();
-}
-
-/// \overload
-template<typename Feature, typename AccumulatorSet>
-typename mpl::apply<AccumulatorSet, Feature>::type const &
-find_accumulator(AccumulatorSet const &acc)
-{
- return acc.template extract<Feature>();
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// extract_result
-// extract a result from an accumulator set
-/// INTERNAL ONLY
-///
-#define BOOST_ACCUMULATORS_EXTRACT_RESULT_FUN(z, n, _) \
- template< \
- typename Feature \
- , typename AccumulatorSet \
- BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, typename A) \
- > \
- typename mpl::apply<AccumulatorSet, Feature>::type::result_type \
- extract_result( \
- AccumulatorSet const &acc \
- BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, n, A, const &a) \
- ) \
- { \
- return find_accumulator<Feature>(acc).result( \
- detail::accumulator_params()( \
- acc \
- BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, a) \
- ) \
- ); \
- }
-
-BOOST_PP_REPEAT(
- BOOST_PP_INC(BOOST_ACCUMULATORS_MAX_ARGS)
- , BOOST_ACCUMULATORS_EXTRACT_RESULT_FUN
- , _
-)
-
-}} // namespace boost::accumulators
-
-#endif
View
317 vendor/boost_1_49_0/boost/accumulators/framework/accumulators/droppable_accumulator.hpp
@@ -1,317 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// droppable_accumulator.hpp
-//
-// Copyright 2005 Eric Niebler. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_DROPPABLE_ACCUMULATOR_HPP_EAN_13_12_2005
-#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_DROPPABLE_ACCUMULATOR_HPP_EAN_13_12_2005
-
-#include <new>
-#include <boost/assert.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/aligned_storage.hpp>
-#include <boost/accumulators/framework/depends_on.hpp> // for feature_of
-#include <boost/accumulators/framework/parameters/accumulator.hpp> // for accumulator
-
-namespace boost { namespace accumulators
-{
-
- template<typename Accumulator>
- struct droppable_accumulator;
-
- namespace detail
- {
- ///////////////////////////////////////////////////////////////////////////////
- // add_ref_visitor
- // a fusion function object for add_ref'ing accumulators
- template<typename Args>
- struct add_ref_visitor
- {
- explicit add_ref_visitor(Args const &args)
- : args_(args)
- {
- }
-
- template<typename Accumulator>
- void operator ()(Accumulator &acc) const
- {
- typedef typename Accumulator::feature_tag::dependencies dependencies;
-
- acc.add_ref(this->args_);
-
- // Also add_ref accumulators that this feature depends on
- this->args_[accumulator].template
- visit_if<detail::contains_feature_of_<dependencies> >(
- *this
- );
- }
-
- private:
- add_ref_visitor &operator =(add_ref_visitor const &);
- Args const &args_;
- };
-
- template<typename Args>
- add_ref_visitor<Args> make_add_ref_visitor(Args const &args)
- {
- return add_ref_visitor<Args>(args);
- }
-
- ///////////////////////////////////////////////////////////////////////////////
- // drop_visitor
- // a fusion function object for dropping accumulators
- template<typename Args>
- struct drop_visitor
- {
- explicit drop_visitor(Args const &args)
- : args_(args)
- {
- }
-
- template<typename Accumulator>
- void operator ()(Accumulator &acc) const
- {
- if(typename Accumulator::is_droppable())
- {
- typedef typename Accumulator::feature_tag::dependencies dependencies;
-
- acc.drop(this->args_);
- // Also drop accumulators that this feature depends on
- this->args_[accumulator].template
- visit_if<detail::contains_feature_of_<dependencies> >(
- *this
- );
- }
- }
-
- private:
- drop_visitor &operator =(drop_visitor const &);
- Args const &args_;
- };
-
- template<typename Args>
- drop_visitor<Args> make_drop_visitor(Args const &args)
- {
- return drop_visitor<Args>(args);
- }
- }
-
- //////////////////////////////////////////////////////////////////////////
- // droppable_accumulator_base
- template<typename Accumulator>
- struct droppable_accumulator_base
- : Accumulator
- {
- typedef droppable_accumulator_base base;
- typedef mpl::true_ is_droppable;
- typedef typename Accumulator::result_type result_type;
-
- template<typename Args>
- droppable_accumulator_base(Args const &args)
- : Accumulator(args)
- , ref_count_(0)
- {
- }
-
- template<typename Args>
- void operator ()(Args const &args)
- {
- if(!this->is_dropped())
- {
- this->Accumulator::operator ()(args);
- }
- }
-
- template<typename Args>
- void add_ref(Args const &)
- {
- ++this->ref_count_;
- }
-
- template<typename Args>
- void drop(Args const &args)
- {
- BOOST_ASSERT(0 < this->ref_count_);
- if(1 == this->ref_count_)
- {
- static_cast<droppable_accumulator<Accumulator> *>(this)->on_drop(args);
- }
- --this->ref_count_;
- }
-
- bool is_dropped() const
- {
- return 0 == this->ref_count_;
- }
-
- private:
- int ref_count_;
- };
-
- //////////////////////////////////////////////////////////////////////////
- // droppable_accumulator
- // this can be specialized for any type that needs special handling
- template<typename Accumulator>
- struct droppable_accumulator
- : droppable_accumulator_base<Accumulator>
- {
- template<typename Args>
- droppable_accumulator(Args const &args)
- : droppable_accumulator::base(args)
- {
- }
- };
-
- //////////////////////////////////////////////////////////////////////////
- // with_cached_result
- template<typename Accumulator>
- struct with_cached_result
- : Accumulator
- {
- typedef typename Accumulator::result_type result_type;
-
- template<typename Args>
- with_cached_result(Args const &args)
- : Accumulator(args)
- , cache()
- {
- }
-
- with_cached_result(with_cached_result const &that)
- : Accumulator(*static_cast<Accumulator const *>(&that))
- , cache()
- {
- if(that.has_result())
- {
- this->set(that.get());
- }
- }
-
- ~with_cached_result()
- {
- // Since this is a base class of droppable_accumulator_base,
- // this destructor is called before any of droppable_accumulator_base's
- // members get cleaned up, including is_dropped, so the following
- // call to has_result() is valid.
- if(this->has_result())
- {
- this->get().~result_type();
- }
- }
-
- template<typename Args>
- void on_drop(Args const &args)
- {
- // cache the result at the point this calcuation was dropped
- BOOST_ASSERT(!this->has_result());
- this->set(this->Accumulator::result(args));
- }
-
- template<typename Args>
- result_type result(Args const &args) const
- {
- return this->has_result() ? this->get() : this->Accumulator::result(args);
- }
-
- private:
- with_cached_result &operator =(with_cached_result const &);
-
- void set(result_type const &r)
- {
- ::new(this->cache.address()) result_type(r);
- }
-
- result_type const &get() const
- {
- return *static_cast<result_type const *>(this->cache.address());
- }
-
- bool has_result() const
- {
- typedef with_cached_result<Accumulator> this_type;
- typedef droppable_accumulator_base<this_type> derived_type;
- return static_cast<derived_type const *>(this)->is_dropped();
- }
-
- aligned_storage<sizeof(result_type)> cache;
- };
-
- namespace tag
- {
- template<typename Feature>
- struct as_droppable
- {
- typedef droppable<Feature> type;
- };
-
- template<typename Feature>
- struct as_droppable<droppable<Feature> >
- {
- typedef droppable<Feature> type;
- };
-
- //////////////////////////////////////////////////////////////////////////
- // droppable
- template<typename Feature>
- struct droppable
- : as_feature<Feature>::type
- {
- typedef typename as_feature<Feature>::type feature_type;
- typedef typename feature_type::dependencies tmp_dependencies_;
-
- typedef
- typename mpl::transform<
- typename feature_type::dependencies
- , as_droppable<mpl::_1>
- >::type
- dependencies;
-
- struct impl
- {
- template<typename Sample, typename Weight>
- struct apply
- {
- typedef
- droppable_accumulator<
- typename mpl::apply2<typename feature_type::impl, Sample, Weight>::type
- >
- type;
- };
- };
- };
- }
-
- // make droppable<tag::feature(modifier)> work
- template<typename Feature>
- struct as_feature<tag::droppable<Feature> >
- {
- typedef tag::droppable<typename as_feature<Feature>::type> type;
- };
-
- // make droppable<tag::mean> work with non-void weights (should become
- // droppable<tag::weighted_mean>
- template<typename Feature>
- struct as_weighted_feature<tag::droppable<Feature> >
- {
- typedef tag::droppable<typename as_weighted_feature<Feature>::type> type;
- };
-
- // for the purposes of feature-based dependency resolution,
- // droppable<Foo> provides the same feature as Foo
- template<typename Feature>
- struct feature_of<tag::droppable<Feature> >
- : feature_of<Feature>
- {
- };
-
- // Note: Usually, the extractor is pulled into the accumulators namespace with
- // a using directive, not the tag. But the droppable<> feature doesn't have an
- // extractor, so we can put the droppable tag in the accumulators namespace
- // without fear of a name conflict.
- using tag::droppable;
-
-}} // namespace boost::accumulators
-
-#endif
View
108 vendor/boost_1_49_0/boost/accumulators/framework/accumulators/external_accumulator.hpp
@@ -1,108 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// external_accumulator.hpp
-//
-// Copyright 2005 Eric Niebler. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_EXTERNAL_ACCUMULATOR_HPP_EAN_01_12_2005
-#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_EXTERNAL_ACCUMULATOR_HPP_EAN_01_12_2005
-
-#include <boost/mpl/placeholders.hpp>
-#include <boost/parameter/keyword.hpp>
-#include <boost/accumulators/framework/extractor.hpp>
-#include <boost/accumulators/framework/depends_on.hpp> // for feature_tag
-#include <boost/accumulators/framework/accumulator_base.hpp>
-#include <boost/accumulators/framework/accumulators/reference_accumulator.hpp>
-
-namespace boost { namespace accumulators { namespace impl
-{
-
- //////////////////////////////////////////////////////////////////////////
- // external_impl
- /// INTERNAL ONLY
- ///
- template<typename Accumulator, typename Tag>
- struct external_impl
- : accumulator_base
- {
- typedef typename Accumulator::result_type result_type;
- typedef typename detail::feature_tag<Accumulator>::type feature_tag;
-
- external_impl(dont_care) {}
-
- template<typename Args>
- result_type result(Args const &args) const
- {
- return this->extract_(args, args[parameter::keyword<Tag>::get() | 0]);
- }
-
- private:
-
- template<typename Args>
- static result_type extract_(Args const &args, int)
- {
- // No named parameter passed to the extractor. Maybe the external
- // feature is held by reference<>.
- extractor<feature_tag> extract;
- return extract(accumulators::reference_tag<Tag>(args));
- }
-
- template<typename Args, typename AccumulatorSet>
- static result_type extract_(Args const &, AccumulatorSet const &acc)
- {
- // OK, a named parameter for this external feature was passed to the
- // extractor, so use that.
- extractor<feature_tag> extract;
- return extract(acc);
- }
- };
-
-} // namespace impl
-
-namespace tag
-{
- //////////////////////////////////////////////////////////////////////////
- // external
- template<typename Feature, typename Tag, typename AccumulatorSet>
- struct external
- : depends_on<reference<AccumulatorSet, Tag> >
- {
- typedef
- accumulators::impl::external_impl<
- detail::to_accumulator<Feature, mpl::_1, mpl::_2>
- , Tag
- >
- impl;
- };
-
- template<typename Feature, typename Tag>
- struct external<Feature, Tag, void>
- : depends_on<>
- {
- typedef
- accumulators::impl::external_impl<
- detail::to_accumulator<Feature, mpl::_1, mpl::_2>
- , Tag
- >
- impl;
- };
-}
-
-// for the purposes of feature-based dependency resolution,
-// external_accumulator<Feature, Tag> provides the same feature as Feature
-template<typename Feature, typename Tag, typename AccumulatorSet>
-struct feature_of<tag::external<Feature, Tag, AccumulatorSet> >
- : feature_of<Feature>
-{
-};
-
-// Note: Usually, the extractor is pulled into the accumulators namespace with
-// a using directive, not the tag. But the external<> feature doesn't have an
-// extractor, so we can put the external tag in the accumulators namespace
-// without fear of a name conflict.
-using tag::external;
-
-}} // namespace boost::accumulators
-
-#endif
View
89 vendor/boost_1_49_0/boost/accumulators/framework/accumulators/reference_accumulator.hpp
@@ -1,89 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// reference_accumulator.hpp
-//
-// Copyright 2005 Eric Niebler. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_REFERENCE_ACCUMULATOR_HPP_EAN_03_23_2006
-#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_REFERENCE_ACCUMULATOR_HPP_EAN_03_23_2006
-
-#include <boost/ref.hpp>
-#include <boost/mpl/always.hpp>
-#include <boost/parameter/keyword.hpp>
-#include <boost/accumulators/framework/depends_on.hpp> // for feature_tag
-#include <boost/accumulators/framework/accumulator_base.hpp>
-#include <boost/accumulators/framework/extractor.hpp>
-
-namespace boost { namespace accumulators
-{
-
-namespace impl
-{
- //////////////////////////////////////////////////////////////////////////
- // reference_accumulator_impl
- //
- template<typename Referent, typename Tag>
- struct reference_accumulator_impl
- : accumulator_base
- {
- typedef Referent &result_type;
-
- template<typename Args>
- reference_accumulator_impl(Args const &args)
- : ref(args[parameter::keyword<Tag>::get()])
- {
- }
-
- result_type result(dont_care) const
- {
- return this->ref;
- }
-
- private:
- reference_wrapper<Referent> ref;
- };
-} // namespace impl
-
-namespace tag
-{
- //////////////////////////////////////////////////////////////////////////
- // reference_tag
- template<typename Tag>
- struct reference_tag
- {
- };
-
- //////////////////////////////////////////////////////////////////////////
- // reference
- template<typename Referent, typename Tag>
- struct reference
- : depends_on<>
- {
- /// INTERNAL ONLY
- ///
- typedef mpl::always<accumulators::impl::reference_accumulator_impl<Referent, Tag> > impl;
- };
-}
-
-namespace extract
-{
- BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, reference, (typename)(typename))
- BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, reference_tag, (typename))
-}
-
-using extract::reference;
-using extract::reference_tag;
-
-// Map all reference<V,T> features to reference_tag<T> so
-// that references can be extracted using reference_tag<T>
-// without specifying the referent type.
-template<typename ValueType, typename Tag>
-struct feature_of<tag::reference<ValueType, Tag> >
- : feature_of<tag::reference_tag<Tag> >
-{
-};
-
-}} // namespace boost::accumulators
-
-#endif
View
89 vendor/boost_1_49_0/boost/accumulators/framework/accumulators/value_accumulator.hpp
@@ -1,89 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// value_accumulator.hpp
-//
-// Copyright 2005 Eric Niebler, Daniel Egloff. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_VALUE_ACCUMULATOR_HPP_EAN_03_23_2006
-#define BOOST_ACCUMULATORS_FRAMEWORK_ACCUMULATORS_VALUE_ACCUMULATOR_HPP_EAN_03_23_2006
-
-#include <boost/mpl/always.hpp>
-#include <boost/parameter/keyword.hpp>
-#include <boost/accumulators/framework/depends_on.hpp> // for feature_tag
-#include <boost/accumulators/framework/accumulator_base.hpp>
-#include <boost/accumulators/framework/extractor.hpp>
-
-namespace boost { namespace accumulators
-{
-
-namespace impl
-{
-
- //////////////////////////////////////////////////////////////////////////
- // value_accumulator_impl
- template<typename ValueType, typename Tag>
- struct value_accumulator_impl
- : accumulator_base
- {
- typedef ValueType result_type;
-
- template<typename Args>
- value_accumulator_impl(Args const &args)
- : val(args[parameter::keyword<Tag>::get()])
- {
- }
-
- result_type result(dont_care) const
- {
- return this->val;
- }
-
- private:
- ValueType val;
- };
-
-} // namespace impl
-
-namespace tag
-{
- //////////////////////////////////////////////////////////////////////////
- // value_tag
- template<typename Tag>
- struct value_tag
- {
- };
-
- //////////////////////////////////////////////////////////////////////////
- // value
- template<typename ValueType, typename Tag>
- struct value
- : depends_on<>
- {
- /// INTERNAL ONLY
- ///
- typedef mpl::always<accumulators::impl::value_accumulator_impl<ValueType, Tag> > impl;
- };
-}
-
-namespace extract
-{
- BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, value, (typename)(typename))
- BOOST_ACCUMULATORS_DEFINE_EXTRACTOR(tag, value_tag, (typename))
-}
-
-using extract::value;
-using extract::value_tag;
-
-// Map all value<V,T> features to value_tag<T> so
-// that values can be extracted using value_tag<T>
-// without specifying the value type.
-template<typename ValueType, typename Tag>
-struct feature_of<tag::value<ValueType, Tag> >
- : feature_of<tag::value_tag<Tag> >
-{
-};
-
-}} // namespace boost::accumulators
-
-#endif
View
411 vendor/boost_1_49_0/boost/accumulators/framework/depends_on.hpp
@@ -1,411 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// depends_on.hpp
-//
-// Copyright 2005 Eric Niebler. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ACCUMULATORS_FRAMEWORK_DEPENDS_ON_HPP_EAN_28_10_2005
-#define BOOST_ACCUMULATORS_FRAMEWORK_DEPENDS_ON_HPP_EAN_28_10_2005
-
-#include <boost/version.hpp>
-#include <boost/mpl/end.hpp>
-#include <boost/mpl/map.hpp>
-#include <boost/mpl/fold.hpp>
-#include <boost/mpl/size.hpp>
-#include <boost/mpl/sort.hpp>
-#include <boost/mpl/insert.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/mpl/remove.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/mpl/inherit.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/equal_to.hpp>
-#include <boost/mpl/contains.hpp>
-#include <boost/mpl/transform.hpp>
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/insert_range.hpp>
-#include <boost/mpl/transform_view.hpp>
-#include <boost/mpl/inherit_linearly.hpp>
-#include <boost/type_traits/is_base_and_derived.hpp>
-#include <boost/preprocessor/repetition/repeat.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/facilities/intercept.hpp>
-#include <boost/accumulators/accumulators_fwd.hpp>
-#include <boost/fusion/include/next.hpp>
-#include <boost/fusion/include/equal_to.hpp>
-#include <boost/fusion/include/value_of.hpp>
-#include <boost/fusion/include/mpl.hpp>
-#include <boost/fusion/include/end.hpp>
-#include <boost/fusion/include/begin.hpp>
-#include <boost/fusion/include/cons.hpp>
-
-namespace boost { namespace accumulators
-{
- ///////////////////////////////////////////////////////////////////////////
- // as_feature
- template<typename Feature>
- struct as_feature
- {
- typedef Feature type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // weighted_feature
- template<typename Feature>
- struct as_weighted_feature
- {
- typedef Feature type;
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // feature_of
- template<typename Feature>
- struct feature_of
- {
- typedef Feature type;
- };
-
- namespace detail
- {
- ///////////////////////////////////////////////////////////////////////////
- // feature_tag
- template<typename Accumulator>
- struct feature_tag
- {
- typedef typename Accumulator::feature_tag type;
- };
-
- template<typename Feature>
- struct undroppable
- {
- typedef Feature type;
- };
-
- template<typename Feature>
- struct undroppable<tag::droppable<Feature> >
- {
- typedef Feature type;
- };
-
- // For the purpose of determining whether one feature depends on another,
- // disregard whether the feature is droppable or not.
- template<typename A, typename B>
- struct is_dependent_on
- : is_base_and_derived<
- typename undroppable<B>::type
- , typename undroppable<A>::type
- >
- {};
-
- template<typename Features>
- struct depends_on_base
- : mpl::inherit_linearly<
- typename mpl::sort<Features, is_dependent_on<mpl::_1, mpl::_2> >::type
- // Don't inherit multiply from a feature
- , mpl::if_<
- is_dependent_on<mpl::_1, mpl::_2>
- , mpl::_1
- , mpl::inherit<mpl::_1, mpl::_2>
- >
- >::type
- {
- };
- }
-
- ///////////////////////////////////////////////////////////////////////////
- /// depends_on
- template<BOOST_PP_ENUM_PARAMS(BOOST_ACCUMULATORS_MAX_FEATURES, typename Feature)>
- struct depends_on
- : detail::depends_on_base<
- typename mpl::transform<
- mpl::vector<BOOST_PP_ENUM_PARAMS(BOOST_ACCUMULATORS_MAX_FEATURES, Feature)>
- , as_feature<mpl::_1>
- >::type
- >
- {
- typedef mpl::false_ is_weight_accumulator;
- typedef
- typename mpl::transform<
- mpl::vector<BOOST_PP_ENUM_PARAMS(BOOST_ACCUMULATORS_MAX_FEATURES, Feature)>
- , as_feature<mpl::_1>
- >::type
- dependencies;
- };
-
- namespace detail
- {
- template<typename Feature>
- struct matches_feature
- {
- template<typename Accumulator>
- struct apply
- : is_same<
- typename feature_of<typename as_feature<Feature>::type>::type
- , typename feature_of<typename as_feature<typename feature_tag<Accumulator>::type>::type>::type
- >
- {};
- };
-
- template<typename Features, typename Accumulator>
- struct contains_feature_of
- {
- typedef
- mpl::transform_view<Features, feature_of<as_feature<mpl::_> > >
- features_list;
-
- typedef
- typename feature_of<typename feature_tag<Accumulator>::type>::type
- the_feature;
-
- typedef
- typename mpl::contains<features_list, the_feature>::type
- type;
- };
-
- // This is to work around a bug in early versions of Fusion which caused
- // a compile error if contains_feature_of<List, mpl::_> is used as a
- // predicate to fusion::find_if
- template<typename Features>
- struct contains_feature_of_
- {
- template<typename Accumulator>
- struct apply
- : contains_feature_of<Features, Accumulator>
- {};
- };
-
- template<
- typename First
- , typename Last
- , bool is_empty = fusion::result_of::equal_to<First, Last>::value
- >
- struct build_acc_list;
-
- template<typename First, typename Last>
- struct build_acc_list<First, Last, true>
- {
- typedef fusion::nil type;
-
- template<typename Args>
- static fusion::nil
- call(Args const &, First const&, Last const&)
- {
- return fusion::nil();
- }
- };
-
- template<typename First, typename Last>
- struct build_acc_list<First, Last, false>
- {
- typedef
- build_acc_list<typename fusion::result_of::next<First>::type, Last>
- next_build_acc_list;
-
- typedef fusion::cons<
- typename fusion::result_of::value_of<First>::type
- , typename next_build_acc_list::type>
- type;
-
- template<typename Args>
- static type
- call(Args const &args, First const& f, Last const& l)
- {
- return type(args, next_build_acc_list::call(args, fusion::next(f), l));
- }
- };
-
- namespace meta
- {
- template<typename Sequence>
- struct make_acc_list
- : build_acc_list<
- typename fusion::result_of::begin<Sequence>::type
- , typename fusion::result_of::end<Sequence>::type
- >
- {};
- }
-
- template<typename Sequence, typename Args>
- typename meta::make_acc_list<Sequence>::type
- make_acc_list(Sequence const &seq, Args const &args)
- {
- return meta::make_acc_list<Sequence>::call(args, fusion::begin(seq), fusion::end(seq));
- }
-
- ///////////////////////////////////////////////////////////////////////////
- // checked_as_weighted_feature
- template<typename Feature>
- struct checked_as_weighted_feature
- {
- typedef typename as_feature<Feature>::type feature_type;
- typedef typename as_weighted_feature<feature_type>::type type;
- // weighted and non-weighted flavors should provide the same feature.
- BOOST_MPL_ASSERT((
- is_same<
- typename feature_of<feature_type>::type
- , typename feature_of<type>::type
- >
- ));
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // as_feature_list
- template<typename Features, typename Weight>
- struct as_feature_list
- : mpl::transform_view<Features, checked_as_weighted_feature<mpl::_1> >
- {
- };
-
- template<typename Features>
- struct as_feature_list<Features, void>
- : mpl::transform_view<Features, as_feature<mpl::_1> >
- {
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // accumulator_wrapper
- template<typename Accumulator, typename Feature>
- struct accumulator_wrapper
- : Accumulator
- {
- typedef Feature feature_tag;
-
- accumulator_wrapper(accumulator_wrapper const &that)
- : Accumulator(*static_cast<Accumulator const *>(&that))
- {
- }
-
- template<typename Args>
- accumulator_wrapper(Args const &args)
- : Accumulator(args)
- {
- }
- };
-
- ///////////////////////////////////////////////////////////////////////////
- // to_accumulator
- template<typename Feature, typename Sample, typename Weight>
- struct to_accumulator
- {
- typedef
- accumulator_wrapper<
- typename mpl::apply2<typename Feature::impl, Sample, Weight>::type
- , Feature
- >
- type;
- };
-
- template<typename Feature, typename Sample, typename Weight, typename Tag, typename AccumulatorSet>
- struct to_accumulator<Feature, Sample, tag::external<Weight, Tag, AccumulatorSet> >
- {
- BOOST_MPL_ASSERT((is_same<Tag, void>));
- BOOST_MPL_ASSERT((is_same<AccumulatorSet, void>));
-
- typedef
- accumulator_wrapper<
- typename mpl::apply2<typename Feature::impl, Sample, Weight>::type
- , Feature
- >
- accumulator_type;
-
- typedef
- typename mpl::if_<
- typename Feature::is_weight_accumulator
- , accumulator_wrapper<impl::external_impl<accumulator_type, tag::weights>, Feature>
- , accumulator_type
- >::type
- type;
- };
-
- // BUGBUG work around a MPL bug wrt map insertion
- template<typename FeatureMap, typename Feature>
- struct insert_feature
- : mpl::eval_if<
- mpl::has_key<FeatureMap, typename feature_of<Feature>::type>
- , mpl::identity<FeatureMap>
- , mpl::insert<FeatureMap, mpl::pair<typename feature_of<Feature>::type, Feature> >
- >
- {
- };
-
- template<typename FeatureMap, typename Feature, typename Weight>
- struct insert_dependencies
- : mpl::fold<
- as_feature_list<typename Feature::dependencies, Weight>
- , FeatureMap
- , insert_dependencies<
- insert_feature<mpl::_1, mpl::_2>
- , mpl::_2
- , Weight
- >
- >
- {
- };
-
- template<typename FeatureMap, typename Features, typename Weight>
- struct insert_sequence
- : mpl::fold< // BUGBUG should use insert_range, but doesn't seem to work for maps
- as_feature_list<Features, Weight>
- , FeatureMap
- , insert_feature<mpl::_1, mpl::_2>
- >
- {
- };
-
- template<typename Features, typename Sample, typename Weight>
- struct make_accumulator_tuple
- {
- typedef
- typename mpl::fold<
- as_feature_list<Features, Weight>
- , mpl::map0<>
- , mpl::if_<
- mpl::is_sequence<mpl::_2>
- , insert_sequence<mpl::_1, mpl::_2, Weight>
- , insert_feature<mpl::_1, mpl::_2>
- >
- >::type
- feature_map;
-
- // for each element in the map, add its dependencies also
- typedef
- typename mpl::fold<
- feature_map
- , feature_map
- , insert_dependencies<mpl::_1, mpl::second<mpl::_2>, Weight>
- >::type
- feature_map_with_dependencies;
-
- // turn the map into a vector so we can sort it
- typedef
- typename mpl::insert_range<
- mpl::vector<>
- , mpl::end<mpl::vector<> >::type
- , mpl::transform_view<feature_map_with_dependencies, mpl::second<mpl::_1> >
- >::type
- feature_vector_with_dependencies;
-
- // sort the features according to which is derived from which
- typedef
- typename mpl::sort<
- feature_vector_with_dependencies
- , is_dependent_on<mpl::_2, mpl::_1>
- >::type
- sorted_feature_vector;
-
- // From the vector of features, construct a vector of accumulators
- typedef
- typename mpl::transform<
- sorted_feature_vector
- , to_accumulator<mpl::_1, Sample, Weight>
- >::type
- type;
- };
-
- } // namespace detail
-
-}} // namespace boost::accumulators
-
-#endif
View
27 vendor/boost_1_49_0/boost/accumulators/framework/external.hpp
@@ -1,27 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// external.hpp
-//
-// Copyright 2005 Eric Niebler. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ACCUMULATORS_FRAMEWORK_EXTERNAL_HPP_EAN_01_12_2005
-#define BOOST_ACCUMULATORS_FRAMEWORK_EXTERNAL_HPP_EAN_01_12_2005
-
-#include <boost/mpl/apply.hpp>
-#include <boost/accumulators/framework/accumulators/external_accumulator.hpp>
-
-//namespace boost { namespace accumulators
-//{
-//
-/////////////////////////////////////////////////////////////////////////////////
-//// external
-////
-//template<typename Type>
-//struct external
-//{
-//};
-//
-//}} // namespace boost::accumulators
-
-#endif
View
229 vendor/boost_1_49_0/boost/accumulators/framework/extractor.hpp
@@ -1,229 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// extractor.hpp
-//
-// Copyright 2005 Eric Niebler. Distributed under the Boost
-// Software License, Version 1.0. (See accompanying file
-// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_ACCUMULATORS_FRAMEWORK_EXTRACTOR_HPP_EAN_28_10_2005
-#define BOOST_ACCUMULATORS_FRAMEWORK_EXTRACTOR_HPP_EAN_28_10_2005
-
-#include <boost/preprocessor/tuple/rem.hpp>
-#include <boost/preprocessor/array/size.hpp>
-#include <boost/preprocessor/array/data.hpp>
-#include <boost/preprocessor/array/elem.hpp>
-#include <boost/preprocessor/seq/to_array.hpp>
-#include <boost/preprocessor/seq/transform.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_params.hpp>
-#include <boost/preprocessor/repetition/enum_trailing_binary_params.hpp>
-#include <boost/parameter/binding.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/type_traits/remove_reference.hpp>
-#include <boost/accumulators/accumulators_fwd.hpp>
-#include <boost/accumulators/framework/parameters/accumulator.hpp>
-
-namespace boost { namespace accumulators
-{
-
-namespace detail
-{
- template<typename AccumulatorSet, typename Feature>
- struct accumulator_set_result
- {
- typedef typename as_feature<Feature>::type feature_type;
- typedef typename mpl::apply<AccumulatorSet, feature_type>::type::result_type type;
- };
-
- template<typename Args, typename Feature>
- struct argument_pack_result
- : accumulator_set_result<
- typename remove_reference<
- typename parameter::binding<Args, tag::accumulator>::type
- >::type
- , Feature
- >
- {
- };
-
- template<typename A, typename Feature>
- struct extractor_result
- : mpl::eval_if<
- detail::is_accumulator_set<A>
- , accumulator_set_result<A, Feature>
- , argument_pack_result<A, Feature>
- >
- {
- };
-
- template<typename Feature, typename AccumulatorSet>
- typename extractor_result<AccumulatorSet, Fe