summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/mpl/preprocessed
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/mpl/preprocessed')
-rw-r--r--src/boost/libs/mpl/preprocessed/README.txt70
-rwxr-xr-xsrc/boost/libs/mpl/preprocessed/boost_mpl_preprocess.py250
-rwxr-xr-xsrc/boost/libs/mpl/preprocessed/fix_boost_mpl_preprocess.py205
-rw-r--r--src/boost/libs/mpl/preprocessed/include/bcc/user.hpp27
-rw-r--r--src/boost/libs/mpl/preprocessed/include/bcc551/user.hpp25
-rw-r--r--src/boost/libs/mpl/preprocessed/include/bcc_pre590/user.hpp26
-rw-r--r--src/boost/libs/mpl/preprocessed/include/dmc/user.hpp15
-rw-r--r--src/boost/libs/mpl/preprocessed/include/gcc/user.hpp15
-rw-r--r--src/boost/libs/mpl/preprocessed/include/mwcw/user.hpp15
-rw-r--r--src/boost/libs/mpl/preprocessed/include/no_ttp/user.hpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/include/plain/user.hpp15
-rw-r--r--src/boost/libs/mpl/preprocessed/include/typeof_based/user.hpp15
-rw-r--r--src/boost/libs/mpl/preprocessed/list/list10.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/list/list10_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/list/list20.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/list/list20_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/list/list30.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/list/list30_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/list/list40.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/list/list40_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/list/list50.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/list/list50_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/map/map10.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/map/map20.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/map/map30.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/map/map40.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/map/map50.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/pp.py256
-rw-r--r--src/boost/libs/mpl/preprocessed/preprocess.cmd1
-rw-r--r--src/boost/libs/mpl/preprocessed/preprocess.py88
-rw-r--r--src/boost/libs/mpl/preprocessed/preprocess_list.py21
-rw-r--r--src/boost/libs/mpl/preprocessed/preprocess_map.py21
-rw-r--r--src/boost/libs/mpl/preprocessed/preprocess_set.py21
-rw-r--r--src/boost/libs/mpl/preprocessed/preprocess_vector.py21
-rw-r--r--src/boost/libs/mpl/preprocessed/set/set10.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/set/set10_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/set/set20.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/set/set20_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/set/set30.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/set/set30_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/set/set40.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/set/set40_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/set/set50.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/set/set50_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/advance_backward.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/advance_forward.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/and.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/apply.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/apply_fwd.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/apply_wrap.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/arg.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/basic_bind.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/bind.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/bind_fwd.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/bitand.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/bitor.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/bitxor.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/deque.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/divides.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/equal_to.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/fold_impl.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/full_lambda.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/greater.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/greater_equal.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/inherit.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/iter_fold_if_impl.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/iter_fold_impl.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/lambda_no_ctps.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/less.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/less_equal.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/list.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/list_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/map.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/minus.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/modulus.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/not_equal_to.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/or.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/placeholders.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/plus.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/quote.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/reverse_fold_impl.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/reverse_iter_fold_impl.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/set.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/set_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/shift_left.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/shift_right.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/template_arity.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/times.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/unpack_args.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/vector.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/src/vector_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/vector/vector10.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/vector/vector10_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/vector/vector20.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/vector/vector20_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/vector/vector30.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/vector/vector30_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/vector/vector40.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/vector/vector40_c.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/vector/vector50.cpp16
-rw-r--r--src/boost/libs/mpl/preprocessed/vector/vector50_c.cpp16
101 files changed, 2435 insertions, 0 deletions
diff --git a/src/boost/libs/mpl/preprocessed/README.txt b/src/boost/libs/mpl/preprocessed/README.txt
new file mode 100644
index 000000000..75ae37f04
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/README.txt
@@ -0,0 +1,70 @@
+Pre-processing of MPL-containers
+--------------------------------
+
+Pre-processing of MPL-containers can be accomplished using the script
+"boost_mpl_preprocess.py". In the simple case call it with a single
+argument which is the path to the source-directory of Boost.
+
+ python boost_mpl_preprocess.py <path-to-boost-sourcedir>
+
+If the Boost source-directory is the one this script resides in, you
+can just call it without any arguments.
+
+ python boost_mpl_preprocess.py
+
+Either way, this will pre-process all four MPL-container types (vector,
+list, set, map) and makes them able to hold up to 100 elements. They can
+be used either in their 'numbered' or their 'variadic' form.
+
+Additionally, the script also allows more fine-grained pre-processing.
+The maximal number of elements an MPL-container type is able to hold can
+be different from the one of other MPL-container types and it can also
+differ between its 'numbered' and 'variadic' form.
+To see all options, call the script like this:
+
+ python boost_mpl_preprocess.py --help
+
+
+Fixing pre-processing of MPL-containers
+---------------------------------------
+
+Sadly, pre-processing of MPL-containers might fail, if the source-files
+used as input are missing some header-comments required during the pre-
+processing step.
+However, the script "boost_mpl_preprocess.py" makes sure to patch these
+input source-files prior to pre-processing (by implicitly calling script
+"fix_boost_mpl_preprocess.py" with the chosen settings). It only patches
+the source-files needed for pre-processing the selected MPL-container
+types and their selected form ('numbered' or 'variadic').
+If calling it with a single (or no) argument (as in the former section)
+all input source-files will be patched automatically.
+
+Instead of fixing the input-files implicitly during pre-processing one
+can also fix them explicitly by calling "fix_boost_mpl_preprocess.py"
+directly.
+If you just want to test if any fixing is needed call it like this:
+
+ python fix_boost_mpl_preprocess.py --check-only <path-to-boost-sourcedir>
+
+This will tell you if any fixing is needed. In such a case call the script
+"fix_boost_mpl_preprocess.py" like this:
+
+ python fix_boost_mpl_preprocess.py <path-to-boost-sourcedir>
+
+This will fix the header-comments of all the source-files needed during
+pre-processing. Calling "boost_mpl_preprocess.py" afterwards should then
+successfully pre-process the MPL-containers (without the need of implicitly
+fixing any files again).
+
+Note:
+Failure of pre-processing can be checked by examining at least one of the
+following directories in which automatically generated files will be put
+during pre-processing. If at least one file in these directories (or sub-
+directories therein) has a size of zero bytes, fixing is needed.
+
+ <path-to-boost-sourcedir>/boost/mpl/vector/aux_/preprocessed/
+ <path-to-boost-sourcedir>/boost/mpl/list/aux_/preprocessed/
+ <path-to-boost-sourcedir>/boost/mpl/set/aux_/preprocessed/
+ <path-to-boost-sourcedir>/boost/mpl/map/aux_/preprocessed/
+ <path-to-boost-sourcedir>/boost/mpl/aux_/preprocessed/
+
diff --git a/src/boost/libs/mpl/preprocessed/boost_mpl_preprocess.py b/src/boost/libs/mpl/preprocessed/boost_mpl_preprocess.py
new file mode 100755
index 000000000..b4973910a
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/boost_mpl_preprocess.py
@@ -0,0 +1,250 @@
+# Copyright Deniz Bahadir 2015
+#
+# 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)
+#
+# See http://www.boost.org/libs/mpl for documentation.
+# See http://stackoverflow.com/a/20660264/3115457 for further information.
+# See http://stackoverflow.com/a/29627158/3115457 for further information.
+
+import fix_boost_mpl_preprocess as fixmpl
+import argparse
+import sys
+import os
+import os.path
+import re
+import fileinput
+import shutil
+
+
+def create_more_container_files(sourceDir, suffix, maxElements, containers, containers2):
+ """Creates additional files for the individual MPL-containers."""
+
+ # Create files for each MPL-container with 20 to 'maxElements' elements
+ # which will be used during generation.
+ for container in containers:
+ for i in range(20, maxElements, 10):
+ # Create copy of "template"-file.
+ newFile = os.path.join( sourceDir, container, container + str(i+10) + suffix )
+ shutil.copyfile( os.path.join( sourceDir, container, container + "20" + suffix ), newFile )
+ # Adjust copy of "template"-file accordingly.
+ for line in fileinput.input( newFile, inplace=1, mode="rU" ):
+ line = re.sub(r'20', '%TWENTY%', line.rstrip())
+ line = re.sub(r'11', '%ELEVEN%', line.rstrip())
+ line = re.sub(r'10(?![0-9])', '%TEN%', line.rstrip())
+ line = re.sub(r'%TWENTY%', re.escape(str(i+10)), line.rstrip())
+ line = re.sub(r'%ELEVEN%', re.escape(str(i + 1)), line.rstrip())
+ line = re.sub(r'%TEN%', re.escape(str(i)), line.rstrip())
+ print(line)
+ for container in containers2:
+ for i in range(20, maxElements, 10):
+ # Create copy of "template"-file.
+ newFile = os.path.join( sourceDir, container, container + str(i+10) + "_c" + suffix )
+ shutil.copyfile( os.path.join( sourceDir, container, container + "20_c" + suffix ), newFile )
+ # Adjust copy of "template"-file accordingly.
+ for line in fileinput.input( newFile, inplace=1, mode="rU" ):
+ line = re.sub(r'20', '%TWENTY%', line.rstrip())
+ line = re.sub(r'11', '%ELEVEN%', line.rstrip())
+ line = re.sub(r'10(?![0-9])', '%TEN%', line.rstrip())
+ line = re.sub(r'%TWENTY%', re.escape(str(i+10)), line.rstrip())
+ line = re.sub(r'%ELEVEN%', re.escape(str(i + 1)), line.rstrip())
+ line = re.sub(r'%TEN%', re.escape(str(i)), line.rstrip())
+ print(line)
+
+
+def create_input_for_numbered_sequences(headerDir, sourceDir, containers, maxElements):
+ """Creates additional source- and header-files for the numbered sequence MPL-containers."""
+ # Create additional container-list without "map".
+ containersWithoutMap = containers[:]
+ try:
+ containersWithoutMap.remove('map')
+ except ValueError:
+ # We can safely ignore if "map" is not contained in 'containers'!
+ pass
+ # Create header/source-files.
+ create_more_container_files(headerDir, ".hpp", maxElements, containers, containersWithoutMap)
+ create_more_container_files(sourceDir, ".cpp", maxElements, containers, containersWithoutMap)
+
+
+def adjust_container_limits_for_variadic_sequences(headerDir, containers, maxElements):
+ """Adjusts the limits of variadic sequence MPL-containers."""
+ for container in containers:
+ headerFile = os.path.join( headerDir, "limits", container + ".hpp" )
+ regexMatch = r'(define\s+BOOST_MPL_LIMIT_' + container.upper() + r'_SIZE\s+)[0-9]+'
+ regexReplace = r'\g<1>' + re.escape( str(maxElements) )
+ for line in fileinput.input( headerFile, inplace=1, mode="rU" ):
+ line = re.sub(regexMatch, regexReplace, line.rstrip())
+ print(line)
+
+
+def current_boost_dir():
+ """Returns the (relative) path to the Boost source-directory this file is located in (if any)."""
+ # Path to directory containing this script.
+ path = os.path.dirname( os.path.realpath(__file__) )
+ # Making sure it is located in "${boost-dir}/libs/mpl/preprocessed".
+ for directory in reversed( ["libs", "mpl", "preprocessed"] ):
+ (head, tail) = os.path.split(path)
+ if tail == directory:
+ path = head
+ else:
+ return None
+ return os.path.relpath( path )
+
+
+
+def to_positive_multiple_of_10(string):
+ """Converts a string into its encoded positive integer (greater zero) or throws an exception."""
+ try:
+ value = int(string)
+ except ValueError:
+ msg = '"%r" is not a positive multiple of 10 (greater zero).' % string
+ raise argparse.ArgumentTypeError(msg)
+ if value <= 0 or value % 10 != 0:
+ msg = '"%r" is not a positive multiple of 10 (greater zero).' % string
+ raise argparse.ArgumentTypeError(msg)
+ return value
+
+
+def to_existing_absolute_path(string):
+ """Converts a path into its absolute path and verifies that it exists or throws an exception."""
+ value = os.path.abspath(string)
+ if not os.path.exists( value ) or not os.path.isdir( value ):
+ msg = '"%r" is not a valid path to a directory.' % string
+ raise argparse.ArgumentTypeError(msg)
+ return value
+
+
+def main():
+ """The main function."""
+
+ # Find the current Boost source-directory in which this script is located.
+ sourceDir = current_boost_dir()
+ if sourceDir == None:
+ sourceDir = ""
+
+ # Prepare and run cmdline-parser.
+ cmdlineParser = argparse.ArgumentParser(description="A generator-script for pre-processed Boost.MPL headers.")
+ cmdlineParser.add_argument("-v", "--verbose", dest='verbose', action='store_true',
+ help="Be a little bit more verbose.")
+ cmdlineParser.add_argument("-s", "--sequence-type", dest='seqType', choices=['variadic', 'numbered', 'both'],
+ default='both',
+ help="Only update pre-processed headers for the selected sequence types, "
+ "either 'numbered' sequences, 'variadic' sequences or 'both' sequence "
+ "types. (Default=both)")
+ cmdlineParser.add_argument("--no-vector", dest='want_vector', action='store_false',
+ help="Do not update pre-processed headers for Boost.MPL Vector.")
+ cmdlineParser.add_argument("--no-list", dest='want_list', action='store_false',
+ help="Do not update pre-processed headers for Boost.MPL List.")
+ cmdlineParser.add_argument("--no-set", dest='want_set', action='store_false',
+ help="Do not update pre-processed headers for Boost.MPL Set.")
+ cmdlineParser.add_argument("--no-map", dest='want_map', action='store_false',
+ help="Do not update pre-processed headers for Boost.MPL Map.")
+ cmdlineParser.add_argument("--num-elements", dest='numElements', metavar="<num-elements>",
+ type=to_positive_multiple_of_10, default=100,
+ help="The maximal number of elements per container sequence. (Default=100)")
+ cmdlineParser.add_argument(dest='sourceDir', metavar="<source-dir>", default=current_boost_dir(), nargs='?',
+ type=to_existing_absolute_path,
+ help="The source-directory of Boost. (Default=\"" + sourceDir + "\")")
+ args = cmdlineParser.parse_args()
+
+ # Some verbose debug output.
+ if args.verbose:
+ print "Arguments extracted from command-line:"
+ print " verbose = ", args.verbose
+ print " source directory = ", args.sourceDir
+ print " num elements = ", args.numElements
+ print " sequence type = ", args.seqType
+ print " want: vector = ", args.want_vector
+ print " want: list = ", args.want_list
+ print " want: set = ", args.want_set
+ print " want: map = ", args.want_map
+
+ # Verify that we received any source-directory.
+ if args.sourceDir == None:
+ print "You should specify a valid path to the Boost source-directory."
+ sys.exit(0)
+
+ # The directories for header- and source files of Boost.MPL.
+ # NOTE: Assuming 'args.sourceDir' is the source-directory of the entire boost project.
+ headerDir = os.path.join( args.sourceDir, "boost", "mpl" )
+ sourceDir = os.path.join( args.sourceDir, "libs", "mpl", "preprocessed" )
+ # Check that the header/source-directories exist.
+ if not os.path.exists( headerDir ) or not os.path.exists( sourceDir ):
+ # Maybe 'args.sourceDir' is not the source-directory of the entire boost project
+ # but instead of the Boost.MPL git-directory, only?
+ headerDir = os.path.join( args.sourceDir, "include", "boost", "mpl" )
+ sourceDir = os.path.join( args.sourceDir, "preprocessed" )
+ if not os.path.exists( headerDir ) or not os.path.exists( sourceDir ):
+ cmdlineParser.print_usage()
+ print "error: Cannot find Boost.MPL header/source files in given Boost source-directory!"
+ sys.exit(0)
+
+ # Some verbose debug output.
+ if args.verbose:
+ print "Chosen header-directory: ", headerDir
+ print "Chosen source-directory: ", sourceDir
+
+ # Create list of containers for which files shall be pre-processed.
+ containers = []
+ if args.want_vector:
+ containers.append('vector')
+ if args.want_list:
+ containers.append('list')
+ if args.want_set:
+ containers.append('set')
+ if args.want_map:
+ containers.append('map')
+ if containers == []:
+ print "Nothing to do."
+ print "(Why did you prevent generating pre-processed headers for all Boost.MPL container types?)"
+ sys.exit(0)
+
+ # Possibly fix the header-comments of input-files needed for pre-processing.
+ if args.verbose:
+ print "Checking if prior to pre-processing some input-files need fixing."
+ needFixing = fixmpl.check_input_files(headerDir, sourceDir, containers, args.seqType, args.verbose)
+ if needFixing:
+ if args.verbose:
+ print "Fixing of some input-files prior to pre-processing is needed."
+ print "Will fix them now!"
+ fixmpl.fix_input_files(headerDir, sourceDir, containers, args.seqType, args.verbose)
+
+ # Some verbose debug output.
+ if args.verbose:
+ print "Containers for which to pre-process headers: ", containers
+
+ # Create (additional) input files for generating pre-processed headers of numbered sequence MPL containers.
+ if args.seqType == "both" or args.seqType == "numbered":
+ create_input_for_numbered_sequences(headerDir, sourceDir, containers, args.numElements)
+ # Modify settings for generating pre-processed headers of variadic sequence MPL containers.
+ if args.seqType == "both" or args.seqType == "variadic":
+ adjust_container_limits_for_variadic_sequences(headerDir, containers, args.numElements)
+
+ # Generate MPL-preprocessed files.
+ os.chdir( sourceDir )
+ if args.seqType == "both" or args.seqType == "numbered":
+ if args.want_vector:
+ if args.verbose:
+ print "Pre-process headers for Boost.MPL numbered vectors."
+ os.system( "python " + os.path.join( sourceDir, "preprocess_vector.py" ) + " all " + args.sourceDir )
+ if args.want_list:
+ if args.verbose:
+ print "Pre-process headers for Boost.MPL numbered lists."
+ os.system( "python " + os.path.join( sourceDir, "preprocess_list.py" ) + " all " + args.sourceDir )
+ if args.want_set:
+ if args.verbose:
+ print "Pre-process headers for Boost.MPL numbered sets."
+ os.system( "python " + os.path.join( sourceDir, "preprocess_set.py" ) + " all " + args.sourceDir )
+ if args.want_map:
+ if args.verbose:
+ print "Pre-process headers for Boost.MPL numbered maps."
+ os.system( "python " + os.path.join( sourceDir, "preprocess_map.py" ) + " all " + args.sourceDir )
+ if args.seqType == "both" or args.seqType == "variadic":
+ if args.verbose:
+ print "Pre-process headers for Boost.MPL variadic containers."
+ os.system( "python " + os.path.join( sourceDir, "preprocess.py" ) + " all " + args.sourceDir )
+
+
+if __name__ == '__main__':
+ main()
diff --git a/src/boost/libs/mpl/preprocessed/fix_boost_mpl_preprocess.py b/src/boost/libs/mpl/preprocessed/fix_boost_mpl_preprocess.py
new file mode 100755
index 000000000..3b92d25d0
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/fix_boost_mpl_preprocess.py
@@ -0,0 +1,205 @@
+# Copyright Deniz Bahadir 2015
+#
+# 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)
+#
+# See http://www.boost.org/libs/mpl for documentation.
+# See http://stackoverflow.com/a/29627158/3115457 for further information.
+
+import argparse
+import sys
+import os.path
+import re
+import fileinput
+import datetime
+import glob
+
+
+def check_header_comment(filename):
+ """Checks if the header-comment of the given file needs fixing."""
+ # Check input file.
+ name = os.path.basename( filename )
+ # Read content of input file.
+ sourcefile = open( filename, "rU" )
+ content = sourcefile.read()
+ sourcefile.close()
+ # Search content for '$Id$'.
+ match = re.search(r'\$Id\$', content)
+ if match == None:
+ # Make sure that the correct value for '$Id$' was already set.
+ match = re.search(r'\$Id: ' + name + r'\s+[^$]+\$', content)
+ if match != None:
+ # The given file needs no fixing.
+ return False
+ # The given file needs fixing.
+ return True
+
+
+def check_input_files_for_variadic_seq(headerDir, sourceDir):
+ """Checks if files, used as input when pre-processing MPL-containers in their variadic form, need fixing."""
+ # Check input files in include/source-directories.
+ files = glob.glob( os.path.join( headerDir, "*.hpp" ) )
+ files += glob.glob( os.path.join( headerDir, "aux_", "*.hpp" ) )
+ files += glob.glob( os.path.join( sourceDir, "src", "*" ) )
+ for currentFile in sorted( files ):
+ if check_header_comment( currentFile ):
+ return True
+ return False
+
+
+def check_input_files_for_numbered_seq(sourceDir, suffix, containers):
+ """Check if files, used as input when pre-processing MPL-containers in their numbered form, need fixing."""
+ # Check input files for each MPL-container type.
+ for container in containers:
+ files = glob.glob( os.path.join( sourceDir, container, container + '*' + suffix ) )
+ for currentFile in sorted( files ):
+ if check_header_comment( currentFile ):
+ return True
+ return False
+
+
+def check_input_files(headerDir, sourceDir, containers=['vector', 'list', 'set', 'map'],
+ seqType='both', verbose=False):
+ """Checks if source- and header-files, used as input when pre-processing MPL-containers, need fixing."""
+ # Check the input files for containers in their variadic form.
+ result1 = False
+ if seqType == "both" or seqType == "variadic":
+ if verbose:
+ print "Check if input files for pre-processing Boost.MPL variadic containers need fixing."
+ result1 = check_input_files_for_variadic_seq(headerDir, sourceDir)
+ if verbose:
+ if result1:
+ print " At least one input file needs fixing!"
+ else:
+ print " No input file needs fixing!"
+ # Check the input files for containers in their numbered form.
+ result2 = False
+ result3 = False
+ if seqType == "both" or seqType == "numbered":
+ if verbose:
+ print "Check input files for pre-processing Boost.MPL numbered containers."
+ result2 = check_input_files_for_numbered_seq(headerDir, ".hpp", containers)
+ result3 = check_input_files_for_numbered_seq(sourceDir, ".cpp", containers)
+ if verbose:
+ if result2 or result3:
+ print " At least one input file needs fixing!"
+ else:
+ print " No input file needs fixing!"
+ # Return result.
+ return result1 or result2 or result3
+
+def fix_header_comment(filename, timestamp):
+ """Fixes the header-comment of the given file."""
+ # Fix input file.
+ name = os.path.basename( filename )
+ for line in fileinput.input( filename, inplace=1, mode="rU" ):
+ # If header-comment already contains anything for '$Id$', remove it.
+ line = re.sub(r'\$Id:[^$]+\$', r'$Id$', line.rstrip())
+ # Replace '$Id$' by a string containing the file's name (and a timestamp)!
+ line = re.sub(re.escape(r'$Id$'), r'$Id: ' + name + r' ' + timestamp.isoformat() + r' $', line.rstrip())
+ print(line)
+
+
+def fix_input_files_for_variadic_seq(headerDir, sourceDir, timestamp):
+ """Fixes files used as input when pre-processing MPL-containers in their variadic form."""
+ # Fix files in include/source-directories.
+ files = glob.glob( os.path.join( headerDir, "*.hpp" ) )
+ files += glob.glob( os.path.join( headerDir, "aux_", "*.hpp" ) )
+ files += glob.glob( os.path.join( sourceDir, "src", "*" ) )
+ for currentFile in sorted( files ):
+ fix_header_comment( currentFile, timestamp )
+
+
+def fix_input_files_for_numbered_seq(sourceDir, suffix, timestamp, containers):
+ """Fixes files used as input when pre-processing MPL-containers in their numbered form."""
+ # Fix input files for each MPL-container type.
+ for container in containers:
+ files = glob.glob( os.path.join( sourceDir, container, container + '*' + suffix ) )
+ for currentFile in sorted( files ):
+ fix_header_comment( currentFile, timestamp )
+
+
+def fix_input_files(headerDir, sourceDir, containers=['vector', 'list', 'set', 'map'],
+ seqType='both', verbose=False):
+ """Fixes source- and header-files used as input when pre-processing MPL-containers."""
+ # The new modification time.
+ timestamp = datetime.datetime.now();
+ # Fix the input files for containers in their variadic form.
+ if seqType == "both" or seqType == "variadic":
+ if verbose:
+ print "Fix input files for pre-processing Boost.MPL variadic containers."
+ fix_input_files_for_variadic_seq(headerDir, sourceDir, timestamp)
+ # Fix the input files for containers in their numbered form.
+ if seqType == "both" or seqType == "numbered":
+ if verbose:
+ print "Fix input files for pre-processing Boost.MPL numbered containers."
+ fix_input_files_for_numbered_seq(headerDir, ".hpp", timestamp, containers)
+ fix_input_files_for_numbered_seq(sourceDir, ".cpp", timestamp, containers)
+
+
+def to_existing_absolute_path(string):
+ """Converts a path into its absolute path and verifies that it exists or throws an exception."""
+ value = os.path.abspath(string)
+ if not os.path.exists( value ) or not os.path.isdir( value ):
+ msg = '"%r" is not a valid path to a directory.' % string
+ raise argparse.ArgumentTypeError(msg)
+ return value
+
+
+def main():
+ """The main function."""
+
+ # Prepare and run cmdline-parser.
+ cmdlineParser = argparse.ArgumentParser(
+ description="Fixes the input files used for pre-processing of Boost.MPL headers.")
+ cmdlineParser.add_argument("-v", "--verbose", dest='verbose', action='store_true',
+ help="Be a little bit more verbose.")
+ cmdlineParser.add_argument("--check-only", dest='checkonly', action='store_true',
+ help="Only checks if fixing is required.")
+ cmdlineParser.add_argument(dest='sourceDir', metavar="<source-dir>",
+ type=to_existing_absolute_path,
+ help="The source-directory of Boost.")
+ args = cmdlineParser.parse_args()
+
+ # Some verbose debug output.
+ if args.verbose:
+ print "Arguments extracted from command-line:"
+ print " verbose = ", args.verbose
+ print " check-only = ", args.checkonly
+ print " source directory = ", args.sourceDir
+
+ # The directories for header- and source files of Boost.MPL.
+ # NOTE: Assuming 'args.sourceDir' is the source-directory of the entire boost project.
+ headerDir = os.path.join( args.sourceDir, "boost", "mpl" )
+ sourceDir = os.path.join( args.sourceDir, "libs", "mpl", "preprocessed" )
+ # Check that the header/source-directories exist.
+ if not os.path.exists( headerDir ) or not os.path.exists( sourceDir ):
+ # Maybe 'args.sourceDir' is not the source-directory of the entire boost project
+ # but instead of the Boost.MPL git-directory, only?
+ headerDir = os.path.join( args.sourceDir, "include", "boost", "mpl" )
+ sourceDir = os.path.join( args.sourceDir, "preprocessed" )
+ if not os.path.exists( headerDir ) or not os.path.exists( sourceDir ):
+ cmdlineParser.print_usage()
+ print "error: Cannot find Boost.MPL header/source files in given Boost source-directory!"
+ sys.exit(0)
+
+ # Some verbose debug output.
+ if args.verbose:
+ print "Chosen header-directory: ", headerDir
+ print "Chosen source-directory: ", sourceDir
+
+ if args.checkonly:
+ # Check input files for generating pre-processed headers.
+ result = check_input_files(headerDir, sourceDir, verbose = args.verbose)
+ if result:
+ print "Fixing the input-files used for pre-processing of Boost.MPL headers IS required."
+ else:
+ print "Fixing the input-files used for pre-processing of Boost.MPL headers is NOT required."
+ else:
+ # Fix input files for generating pre-processed headers.
+ fix_input_files(headerDir, sourceDir, verbose = args.verbose)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/src/boost/libs/mpl/preprocessed/include/bcc/user.hpp b/src/boost/libs/mpl/preprocessed/include/bcc/user.hpp
new file mode 100644
index 000000000..97340b285
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/include/bcc/user.hpp
@@ -0,0 +1,27 @@
+
+// Copyright Aleksey Gurtovoy 2003-2008
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_NO_CONFIG
+
+#include <boost/preprocessor/config/config.hpp>
+
+#define BOOST_NO_TEMPLATE_TEMPLATES
+#define BOOST_MPL_CFG_BCC590_WORKAROUNDS
+#define BOOST_MPL_CFG_NO_BIND_TEMPLATE
+#define BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC
+#define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
+#define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
+#define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION
+#define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
+#define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS
+#define BOOST_MPL_CFG_NO_NESTED_FORWARDING
diff --git a/src/boost/libs/mpl/preprocessed/include/bcc551/user.hpp b/src/boost/libs/mpl/preprocessed/include/bcc551/user.hpp
new file mode 100644
index 000000000..eaa6fd9e8
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/include/bcc551/user.hpp
@@ -0,0 +1,25 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_NO_CONFIG
+
+#include <boost/preprocessor/config/config.hpp>
+
+#define BOOST_NO_TEMPLATE_TEMPLATES
+#define BOOST_MPL_CFG_NO_BIND_TEMPLATE
+#define BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC
+#define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
+#define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION
+#define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
+#define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS
+#define BOOST_MPL_CFG_NO_NESTED_FORWARDING
diff --git a/src/boost/libs/mpl/preprocessed/include/bcc_pre590/user.hpp b/src/boost/libs/mpl/preprocessed/include/bcc_pre590/user.hpp
new file mode 100644
index 000000000..7cd1076d5
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/include/bcc_pre590/user.hpp
@@ -0,0 +1,26 @@
+
+// Copyright Aleksey Gurtovoy 2003-2008
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Source$
+// $Date: 2004-09-14 07:39:55 -0500 (Tue, 14 Sep 2004) $
+// $Revision: 25084 $
+
+#define BOOST_NO_CONFIG
+
+#include <boost/preprocessor/config/config.hpp>
+
+#define BOOST_NO_TEMPLATE_TEMPLATES
+#define BOOST_MPL_CFG_NO_BIND_TEMPLATE
+#define BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC
+#define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
+#define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
+#define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION
+#define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
+#define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS
+#define BOOST_MPL_CFG_NO_NESTED_FORWARDING
diff --git a/src/boost/libs/mpl/preprocessed/include/dmc/user.hpp b/src/boost/libs/mpl/preprocessed/include/dmc/user.hpp
new file mode 100644
index 000000000..c0d92b14f
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/include/dmc/user.hpp
@@ -0,0 +1,15 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_NO_CONFIG
+#define BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS
diff --git a/src/boost/libs/mpl/preprocessed/include/gcc/user.hpp b/src/boost/libs/mpl/preprocessed/include/gcc/user.hpp
new file mode 100644
index 000000000..6059dc3e9
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/include/gcc/user.hpp
@@ -0,0 +1,15 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_NO_CONFIG
+#define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
diff --git a/src/boost/libs/mpl/preprocessed/include/mwcw/user.hpp b/src/boost/libs/mpl/preprocessed/include/mwcw/user.hpp
new file mode 100644
index 000000000..0b74799e6
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/include/mwcw/user.hpp
@@ -0,0 +1,15 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_NO_CONFIG
+#define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
diff --git a/src/boost/libs/mpl/preprocessed/include/no_ttp/user.hpp b/src/boost/libs/mpl/preprocessed/include/no_ttp/user.hpp
new file mode 100644
index 000000000..d354bdf9d
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/include/no_ttp/user.hpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_NO_CONFIG
+#define BOOST_NO_TEMPLATE_TEMPLATES
+#define BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC
diff --git a/src/boost/libs/mpl/preprocessed/include/plain/user.hpp b/src/boost/libs/mpl/preprocessed/include/plain/user.hpp
new file mode 100644
index 000000000..a6ecf1571
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/include/plain/user.hpp
@@ -0,0 +1,15 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_NO_CONFIG
+#define BOOST_MPL_AUX_LAMBDA_SUPPORT(unused1, unused2, unused3)
diff --git a/src/boost/libs/mpl/preprocessed/include/typeof_based/user.hpp b/src/boost/libs/mpl/preprocessed/include/typeof_based/user.hpp
new file mode 100644
index 000000000..36005bbd6
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/include/typeof_based/user.hpp
@@ -0,0 +1,15 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_NO_CONFIG
+#define BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES
diff --git a/src/boost/libs/mpl/preprocessed/list/list10.cpp b/src/boost/libs/mpl/preprocessed/list/list10.cpp
new file mode 100644
index 000000000..1081c24fd
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/list/list10.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/list/list10.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/list/list10_c.cpp b/src/boost/libs/mpl/preprocessed/list/list10_c.cpp
new file mode 100644
index 000000000..d61940a70
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/list/list10_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/list/list10_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/list/list20.cpp b/src/boost/libs/mpl/preprocessed/list/list20.cpp
new file mode 100644
index 000000000..ad11b3e8c
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/list/list20.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/list/list20.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/list/list20_c.cpp b/src/boost/libs/mpl/preprocessed/list/list20_c.cpp
new file mode 100644
index 000000000..a9c93ae7c
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/list/list20_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/list/list20_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/list/list30.cpp b/src/boost/libs/mpl/preprocessed/list/list30.cpp
new file mode 100644
index 000000000..8c16a6470
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/list/list30.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/list/list30.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/list/list30_c.cpp b/src/boost/libs/mpl/preprocessed/list/list30_c.cpp
new file mode 100644
index 000000000..9d7539d39
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/list/list30_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/list/list30_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/list/list40.cpp b/src/boost/libs/mpl/preprocessed/list/list40.cpp
new file mode 100644
index 000000000..364fda288
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/list/list40.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/list/list40.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/list/list40_c.cpp b/src/boost/libs/mpl/preprocessed/list/list40_c.cpp
new file mode 100644
index 000000000..ceabeb98f
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/list/list40_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/list/list40_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/list/list50.cpp b/src/boost/libs/mpl/preprocessed/list/list50.cpp
new file mode 100644
index 000000000..da35a615f
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/list/list50.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/list/list50.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/list/list50_c.cpp b/src/boost/libs/mpl/preprocessed/list/list50_c.cpp
new file mode 100644
index 000000000..f8d54ecef
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/list/list50_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/list/list50_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/map/map10.cpp b/src/boost/libs/mpl/preprocessed/map/map10.cpp
new file mode 100644
index 000000000..4636ccd9d
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/map/map10.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/map/map10.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/map/map20.cpp b/src/boost/libs/mpl/preprocessed/map/map20.cpp
new file mode 100644
index 000000000..d95a8b075
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/map/map20.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/map/map20.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/map/map30.cpp b/src/boost/libs/mpl/preprocessed/map/map30.cpp
new file mode 100644
index 000000000..487b9e0d4
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/map/map30.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/map/map30.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/map/map40.cpp b/src/boost/libs/mpl/preprocessed/map/map40.cpp
new file mode 100644
index 000000000..748e5ad46
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/map/map40.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/map/map40.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/map/map50.cpp b/src/boost/libs/mpl/preprocessed/map/map50.cpp
new file mode 100644
index 000000000..261502ce7
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/map/map50.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/map/map50.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/pp.py b/src/boost/libs/mpl/preprocessed/pp.py
new file mode 100644
index 000000000..24bfd27e7
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/pp.py
@@ -0,0 +1,256 @@
+
+# Copyright Aleksey Gurtovoy 2001-2004
+#
+# 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)
+#
+# See http://www.boost.org/libs/mpl for documentation.
+
+# $Id$
+# $Date$
+# $Revision$
+
+import fileinput
+import os
+import re
+import string
+import sys
+
+if_else = lambda a,b,c:(a and [b] or [c])[0]
+max_len = 79
+ident = 4
+
+def nearest_ident_pos(text):
+ return (len(text)/ident) * ident
+
+def block_format(limits, text, first_sep=' ', sep=',', need_last_ident=1 ):
+ if sep == ',' and string.find( text, '<' ) != -1:
+ sep = '%s ' % sep
+
+ words = string.split(
+ string.join( string.split( text ), ' ' )
+ , sep
+ )
+
+ s = ' ' * limits[0]
+ max_len = limits[1]
+ return '%s\n%s' \
+ % (
+ reduce(
+ lambda t,w,max_len=max_len,s=s,sep=sep:
+ if_else(t[1] + len(w) < max_len
+ , ('%s%s%s'% (t[0],t[2],w), t[1]+len(w)+len(t[2]), sep)
+ , ('%s\n%s%s%s'% (t[0],s,sep,w), len(s)+len(w)+len(sep), sep)
+ )
+ , words
+ , (s,len(s)+len(first_sep),first_sep)
+ )[0]
+ , if_else(need_last_ident,s,'')
+ )
+
+def handle_args( match ):
+ if re.compile('^\s*(typedef|struct|static)\s+.*?$').match(match.group(0)):
+ return match.group(0)
+
+ return '%s'\
+ % block_format(
+ (nearest_ident_pos(match.group(1)),max_len)
+ , match.group(3)
+ , match.group(2)
+ , ','
+ , 0
+ )
+
+
+def handle_inline_args(match):
+ if len(match.group(0)) < max_len:
+ return match.group(0)
+
+ if match.group(9) == None:
+ return '%s%s<\n%s>\n'\
+ % (
+ match.group(1)
+ , match.group(3)
+ , block_format(
+ (nearest_ident_pos(match.group(1))+ident,max_len)
+ , match.group(4)
+ )
+ )
+
+ return '%s%s<\n%s>\n%s%s'\
+ % (
+ match.group(1)
+ , match.group(3)
+ , block_format(
+ (nearest_ident_pos(match.group(1))+ident,max_len-len(match.group(9)))
+ , match.group(4)
+ )
+ , string.replace(match.group(1),',',' ')
+ , match.group(9)
+ )
+
+def handle_simple_list(match):
+ if match.group(1) == 'template':
+ return match.group(0)
+
+ single_arg = re.compile('^\s*(\w|\d)+\s*$').match(match.group(2))
+ return if_else(single_arg,'%s<%s>','%s< %s >') %\
+ (
+ match.group(1)
+ , string.join(string.split(match.group(2)), '')
+ )
+
+def handle_static(match):
+ if len(match.group(0)) < max_len:
+ return match.group(0)
+
+ (first_sep,sep) = if_else(string.find(match.group(0),'+') == -1, (' ',' '),(' ','+'))
+ return '%s%s\n%s%s' %\
+ (
+ match.group(1)
+ , string.join(string.split(match.group(2)), ' ')
+ , block_format(
+ (nearest_ident_pos(match.group(1))+ident,max_len)
+ , match.group(4)
+ , first_sep
+ , sep
+ )
+ , match.group(5)
+ )
+
+def handle_typedefs(match):
+ if string.count(match.group(2), ';') == 1:
+ return match.group(0)
+
+ join_sep = ';\n%s' % match.group(1)
+
+ return '%s%s\n' \
+ % (
+ match.group(1)
+ , string.join(map(string.strip, string.split(match.group(2), ';')), join_sep)
+ )
+
+def fix_angle_brackets( match ):
+ return ' '.join( ''.join( match.group(1).split( ' ' ) ) ) + match.group(3)
+
+
+class pretty:
+ def __init__(self, name):
+ self.output = open(name, "w")
+ self.prev_line = ''
+
+ self.re_copyright_start = re.compile( r'^// Copyright .*$' )
+ self.re_copyright_end = re.compile( r'^// See .* for documentation.$' )
+ self.reading_copyright = 0
+ self.copyright = None
+
+ self.re_header_name_comment = re.compile(
+ r'^\s*//\s+\$[I]d:\s+(.*?%s\.hpp)\s+[^$]+[$]$'
+ % os.path.splitext( name )[0]
+ )
+
+ self.header_was_written = 0
+
+ self.re_junk = re.compile(r'^\s*(#|//[^/]|////).*$')
+ self.re_c_comment_start = re.compile(r'^\s*/\*.*')
+ self.re_c_comment_end = re.compile(r'^.*\*/\s*$')
+ self.inside_c_comment = 0
+
+ self.re_empty_line = re.compile(r'^\s*$')
+ self.re_comma = re.compile(r'(\S+)\s*,\s*')
+ self.re_assign = re.compile(r'(\S+[^<|^!|^>])\s*(=+)\s*(\S+)')
+ self.re_marked_empty_comment = re.compile(r'^\s*//\s*$')
+ self.re_typedef = re.compile(r'^\s+typedef\s+.*?;$')
+ self.re_nsl = re.compile(r'^(\s+typedef\s+.*?;|\s*(private|public):\s*|\s*{\s*|\s*(\w|\d|,)+\s*)$')
+ self.re_templ_decl = re.compile(r'^(\s*template\s*<\s*.*?|\s*(private|public):\s*)$')
+ self.re_type_const = re.compile(r'(const)\s+((unsigned|signed)?(bool|char|short|int|long))')
+ #self.re_templ_args = re.compile(r'^(\s*)(, | {2})((.*::.*?,?)+)\s*$')
+ self.re_templ_args = re.compile(r'^(\s*)(, | {2})((\s*(\w+)(\s+|::)\w+\s*.*?,?)+)\s*$')
+ self.re_inline_templ_args = re.compile(
+ r'^(\s+(,|:\s+)?|struct\s+)(\w+)\s*<((\s*(typename\s+)?\w+\s*(=\s*.*|<(\s*\w+\s*,?)+>\s*)?,?)+)\s*>\s+((struct|class).*?)?$'
+ )
+
+ self.re_simple_list = re.compile(r'(\w+)\s*<((\w|,| |-)+)>')
+ self.re_static_const = re.compile(r'(\s*)((BOOST_STATIC_CONSTANT\(\s*\w+,\s*|enum\s*\w*\s*{\s*)value\s*=)(.*?)([}|\)];)$')
+ self.re_typedefs = re.compile(r'(\s*)((\s*typedef\s*.*?;)+)\s*$')
+ self.re_fix_angle_brackets = re.compile( r'(>(\s*>)+)(,|\n$)' )
+ self.re_closing_curly_brace = re.compile(r'^(}|struct\s+\w+);\s*$')
+ self.re_namespace_scope_templ = re.compile(r'^template\s*<\s*$')
+ self.re_namespace = re.compile(r'^\n?namespace\s+\w+\s*{\s*\n?$')
+
+ def process(self, line):
+ if self.reading_copyright:
+ if not self.re_copyright_end.match( line ):
+ self.copyright += line
+ return
+
+ self.reading_copyright = 0
+
+ if not self.header_was_written and self.re_copyright_start.match( line ):
+ self.copyright = line
+ self.reading_copyright = 1
+ return
+
+ # searching for header line
+ if not self.header_was_written:
+ if self.re_header_name_comment.match( line ):
+ self.header_was_written = 1
+ match = self.re_header_name_comment.match( line )
+ self.output.write( \
+ '\n%s\n' \
+ '// *Preprocessed* version of the main "%s" header\n' \
+ '// -- DO NOT modify by hand!\n\n' \
+ % ( self.copyright, match.group(1) )
+ )
+ return
+
+ # skipping preprocessor directives, comments, etc.
+ if self.re_junk.match(line):
+ return
+
+ if self.inside_c_comment or self.re_c_comment_start.match(line):
+ self.inside_c_comment = not self.re_c_comment_end.match(line)
+ return
+
+ # restoring some empty lines
+ if self.re_templ_decl.match(line) and self.re_typedef.match(self.prev_line) \
+ or not self.re_empty_line.match(line) and self.re_closing_curly_brace.match(self.prev_line) \
+ or not self.re_empty_line.match(self.prev_line) \
+ and ( self.re_namespace_scope_templ.match(line) \
+ or self.re_namespace.match(line) and not self.re_namespace.match(self.prev_line) \
+ ):
+ line = '\n%s' % line
+
+ # removing excessive empty lines
+ if self.re_empty_line.match(line):
+ if self.re_empty_line.match(self.prev_line) or not self.header_was_written:
+ return
+
+ # skip empty line after typedef
+ if self.re_nsl.match(self.prev_line):
+ return
+
+ # formatting
+ line = self.re_comma.sub( r'\1, ', line )
+ line = self.re_assign.sub( r'\1 \2 \3', line )
+ line = self.re_marked_empty_comment.sub( r'\n', line )
+ line = self.re_type_const.sub( r'\2 \1', line )
+ line = self.re_templ_args.sub( handle_args, line )
+ line = self.re_inline_templ_args.sub( handle_inline_args, line )
+ line = self.re_simple_list.sub( handle_simple_list, line)
+ line = self.re_static_const.sub( handle_static, line )
+ line = self.re_typedefs.sub( handle_typedefs, line )
+ line = self.re_fix_angle_brackets.sub( fix_angle_brackets, line )
+
+ # write the output
+ self.output.write(line)
+ self.prev_line = line
+
+def main( src, dest ):
+ p = pretty( os.path.basename( dest ) )
+ for line in fileinput.input( src ):
+ p.process(line)
+
+if __name__ == '__main__':
+ main( sys.argv[1], sys.argv[2] )
diff --git a/src/boost/libs/mpl/preprocessed/preprocess.cmd b/src/boost/libs/mpl/preprocessed/preprocess.cmd
new file mode 100644
index 000000000..7fb92f37e
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/preprocess.cmd
@@ -0,0 +1 @@
+gcc -E -C -P "-I%(boost_root)s" "-D BOOST_USER_CONFIG=\"%(boost_root)s/libs/mpl/preprocessed/include/%(mode)s/user.hpp\"" -D BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES %(file)s >"%(file_path)s"
diff --git a/src/boost/libs/mpl/preprocessed/preprocess.py b/src/boost/libs/mpl/preprocessed/preprocess.py
new file mode 100644
index 000000000..0c38eb064
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/preprocess.py
@@ -0,0 +1,88 @@
+
+# Copyright Aleksey Gurtovoy 2001-2004
+#
+# 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)
+#
+# See http://www.boost.org/libs/mpl for documentation.
+
+# $Id$
+# $Date$
+# $Revision$
+
+import pp
+import shutil
+import os.path
+import os
+import string
+import sys
+
+preprocess_cmd = open( "preprocess.cmd" ).readlines()[0]
+
+def process( file, boost_root, dst_dir, mode ):
+ file_path = "%s.hpp" % os.path.splitext( file )[0]
+ os.system( preprocess_cmd % {
+ 'boost_root': boost_root
+ , 'mode': mode
+ , 'file': file
+ , 'file_path': file_path
+ } )
+
+ os.rename( file_path, "%s.tmp" % file_path )
+ pp.main( "%s.tmp" % file_path, file_path )
+ os.remove( "%s.tmp" % file_path )
+
+ filename = os.path.basename(file_path)
+ dst_dir = os.path.join( dst_dir, mode )
+ dst_file = os.path.join( dst_dir, filename )
+
+ if os.path.exists( dst_file ):
+ shutil.copymode( filename, dst_file )
+
+ shutil.copy( filename, dst_dir )
+ os.remove( filename )
+
+
+def process_all( root, boost_root, dst_dir, mode ):
+ files = os.listdir( root )
+ for file in files:
+ path = os.path.join( root, file )
+ if os.path.splitext( file )[1] == ".cpp":
+ process( path, boost_root, dst_dir, mode )
+ else:
+ if os.path.isdir( path ):
+ process_all( path, boost_root, dst_dir, mode )
+
+
+def main( all_modes, src_dir, dst_dir ):
+ if len( sys.argv ) < 2:
+ print "\nUsage:\n\t %s <mode> <boost_root> [<source_file>]" % os.path.basename( sys.argv[0] )
+ print "\nPurpose:\n\t updates preprocessed version(s) of the header(s) in \"%s\" directory" % dst_dir
+ print "\nExample:\n\t the following command will re-generate and update all 'apply.hpp' headers:"
+ print "\n\t\t %s all f:\\cvs\\boost apply.cpp" % os.path.basename( sys.argv[0] )
+ sys.exit( -1 )
+
+ if sys.argv[1] == "all":
+ modes = all_modes
+ else:
+ modes = [sys.argv[1]]
+
+ boost_root = sys.argv[2]
+ dst_dir = os.path.join( boost_root, dst_dir )
+
+ for mode in modes:
+ if len( sys.argv ) > 3:
+ file = os.path.join( os.path.join( os.getcwd(), src_dir ), sys.argv[3] )
+ process( file, boost_root, dst_dir, mode )
+ else:
+ process_all( os.path.join( os.getcwd(), src_dir ), boost_root, dst_dir, mode )
+
+
+if __name__ == '__main__':
+
+ main(
+ ["bcc", "bcc551", "gcc", "mwcw", "dmc", "no_ttp", "plain"]
+ , "src"
+ , os.path.join( "boost", "mpl", "aux_", "preprocessed" )
+ )
diff --git a/src/boost/libs/mpl/preprocessed/preprocess_list.py b/src/boost/libs/mpl/preprocessed/preprocess_list.py
new file mode 100644
index 000000000..ae172c26b
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/preprocess_list.py
@@ -0,0 +1,21 @@
+
+# Copyright Aleksey Gurtovoy 2001-2006
+#
+# 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)
+#
+# See http://www.boost.org/libs/mpl for documentation.
+
+# $Id$
+# $Date$
+# $Revision$
+
+import preprocess
+import os.path
+
+preprocess.main(
+ [ "plain" ]
+ , "list"
+ , os.path.join( "boost", "mpl", "list", "aux_", "preprocessed" )
+ )
diff --git a/src/boost/libs/mpl/preprocessed/preprocess_map.py b/src/boost/libs/mpl/preprocessed/preprocess_map.py
new file mode 100644
index 000000000..9f4fa9cca
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/preprocess_map.py
@@ -0,0 +1,21 @@
+
+# Copyright Aleksey Gurtovoy 2001-2006
+#
+# 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)
+#
+# See http://www.boost.org/libs/mpl for documentation.
+
+# $Id$
+# $Date$
+# $Revision$
+
+import preprocess
+import os.path
+
+preprocess.main(
+ [ "plain", "typeof_based" ]
+ , "map"
+ , os.path.join( "boost", "mpl", "map", "aux_", "preprocessed" )
+ )
diff --git a/src/boost/libs/mpl/preprocessed/preprocess_set.py b/src/boost/libs/mpl/preprocessed/preprocess_set.py
new file mode 100644
index 000000000..9220a9b3f
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/preprocess_set.py
@@ -0,0 +1,21 @@
+
+# Copyright Aleksey Gurtovoy 2001-2006
+#
+# 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)
+#
+# See http://www.boost.org/libs/mpl for documentation.
+
+# $Id$
+# $Date$
+# $Revision$
+
+import preprocess
+import os.path
+
+preprocess.main(
+ [ "plain" ]
+ , "set"
+ , os.path.join( "boost", "mpl", "set", "aux_", "preprocessed" )
+ )
diff --git a/src/boost/libs/mpl/preprocessed/preprocess_vector.py b/src/boost/libs/mpl/preprocessed/preprocess_vector.py
new file mode 100644
index 000000000..26c65b6ed
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/preprocess_vector.py
@@ -0,0 +1,21 @@
+
+# Copyright Aleksey Gurtovoy 2001-2006
+#
+# 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)
+#
+# See http://www.boost.org/libs/mpl for documentation.
+
+# $Id$
+# $Date$
+# $Revision$
+
+import preprocess
+import os.path
+
+preprocess.main(
+ [ "plain", "typeof_based" ]
+ , "vector"
+ , os.path.join( "boost", "mpl", "vector", "aux_", "preprocessed" )
+ )
diff --git a/src/boost/libs/mpl/preprocessed/set/set10.cpp b/src/boost/libs/mpl/preprocessed/set/set10.cpp
new file mode 100644
index 000000000..20431d544
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/set/set10.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/set/set10.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/set/set10_c.cpp b/src/boost/libs/mpl/preprocessed/set/set10_c.cpp
new file mode 100644
index 000000000..1e862e0f2
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/set/set10_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/set/set10_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/set/set20.cpp b/src/boost/libs/mpl/preprocessed/set/set20.cpp
new file mode 100644
index 000000000..49d9ff025
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/set/set20.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/set/set20.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/set/set20_c.cpp b/src/boost/libs/mpl/preprocessed/set/set20_c.cpp
new file mode 100644
index 000000000..056405f2e
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/set/set20_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/set/set20_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/set/set30.cpp b/src/boost/libs/mpl/preprocessed/set/set30.cpp
new file mode 100644
index 000000000..c8b266598
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/set/set30.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/set/set30.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/set/set30_c.cpp b/src/boost/libs/mpl/preprocessed/set/set30_c.cpp
new file mode 100644
index 000000000..3134c2326
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/set/set30_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/set/set30_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/set/set40.cpp b/src/boost/libs/mpl/preprocessed/set/set40.cpp
new file mode 100644
index 000000000..62bb1ef4f
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/set/set40.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/set/set40.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/set/set40_c.cpp b/src/boost/libs/mpl/preprocessed/set/set40_c.cpp
new file mode 100644
index 000000000..081d85635
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/set/set40_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/set/set40_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/set/set50.cpp b/src/boost/libs/mpl/preprocessed/set/set50.cpp
new file mode 100644
index 000000000..6866664b2
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/set/set50.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/set/set50.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/set/set50_c.cpp b/src/boost/libs/mpl/preprocessed/set/set50_c.cpp
new file mode 100644
index 000000000..0ce79819a
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/set/set50_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2003-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/set/set50_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/advance_backward.cpp b/src/boost/libs/mpl/preprocessed/src/advance_backward.cpp
new file mode 100644
index 000000000..d75aee74c
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/advance_backward.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/aux_/advance_backward.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/advance_forward.cpp b/src/boost/libs/mpl/preprocessed/src/advance_forward.cpp
new file mode 100644
index 000000000..0a8324ae8
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/advance_forward.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/aux_/advance_forward.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/and.cpp b/src/boost/libs/mpl/preprocessed/src/and.cpp
new file mode 100644
index 000000000..d44a8fd9f
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/and.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/and.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/apply.cpp b/src/boost/libs/mpl/preprocessed/src/apply.cpp
new file mode 100644
index 000000000..10d4aa7a0
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/apply.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/apply.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/apply_fwd.cpp b/src/boost/libs/mpl/preprocessed/src/apply_fwd.cpp
new file mode 100644
index 000000000..dca117493
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/apply_fwd.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/apply_fwd.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/apply_wrap.cpp b/src/boost/libs/mpl/preprocessed/src/apply_wrap.cpp
new file mode 100644
index 000000000..41b737d65
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/apply_wrap.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/apply_wrap.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/arg.cpp b/src/boost/libs/mpl/preprocessed/src/arg.cpp
new file mode 100644
index 000000000..d63b3ced4
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/arg.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/arg.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/basic_bind.cpp b/src/boost/libs/mpl/preprocessed/src/basic_bind.cpp
new file mode 100644
index 000000000..ebf063f2f
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/basic_bind.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/aux_/basic_bind.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/bind.cpp b/src/boost/libs/mpl/preprocessed/src/bind.cpp
new file mode 100644
index 000000000..8fb1537fd
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/bind.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/bind.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/bind_fwd.cpp b/src/boost/libs/mpl/preprocessed/src/bind_fwd.cpp
new file mode 100644
index 000000000..8ed1be137
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/bind_fwd.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/bind_fwd.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/bitand.cpp b/src/boost/libs/mpl/preprocessed/src/bitand.cpp
new file mode 100644
index 000000000..25f1a7252
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/bitand.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/bitand.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/bitor.cpp b/src/boost/libs/mpl/preprocessed/src/bitor.cpp
new file mode 100644
index 000000000..09ec81609
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/bitor.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/bitor.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/bitxor.cpp b/src/boost/libs/mpl/preprocessed/src/bitxor.cpp
new file mode 100644
index 000000000..1656c9f67
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/bitxor.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/bitxor.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/deque.cpp b/src/boost/libs/mpl/preprocessed/src/deque.cpp
new file mode 100644
index 000000000..f07151932
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/deque.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/deque.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/divides.cpp b/src/boost/libs/mpl/preprocessed/src/divides.cpp
new file mode 100644
index 000000000..cb59f2812
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/divides.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/divides.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/equal_to.cpp b/src/boost/libs/mpl/preprocessed/src/equal_to.cpp
new file mode 100644
index 000000000..5158e7418
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/equal_to.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/equal_to.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/fold_impl.cpp b/src/boost/libs/mpl/preprocessed/src/fold_impl.cpp
new file mode 100644
index 000000000..81cdcddaf
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/fold_impl.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/aux_/fold_impl.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/full_lambda.cpp b/src/boost/libs/mpl/preprocessed/src/full_lambda.cpp
new file mode 100644
index 000000000..e323cc6a6
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/full_lambda.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/aux_/full_lambda.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/greater.cpp b/src/boost/libs/mpl/preprocessed/src/greater.cpp
new file mode 100644
index 000000000..e344dac6c
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/greater.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/greater.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/greater_equal.cpp b/src/boost/libs/mpl/preprocessed/src/greater_equal.cpp
new file mode 100644
index 000000000..faf43704d
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/greater_equal.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/greater_equal.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/inherit.cpp b/src/boost/libs/mpl/preprocessed/src/inherit.cpp
new file mode 100644
index 000000000..b00c83f3d
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/inherit.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/inherit.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/iter_fold_if_impl.cpp b/src/boost/libs/mpl/preprocessed/src/iter_fold_if_impl.cpp
new file mode 100644
index 000000000..386f59f0b
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/iter_fold_if_impl.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/aux_/iter_fold_if_impl.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/iter_fold_impl.cpp b/src/boost/libs/mpl/preprocessed/src/iter_fold_impl.cpp
new file mode 100644
index 000000000..13cc36cda
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/iter_fold_impl.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/aux_/iter_fold_impl.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/lambda_no_ctps.cpp b/src/boost/libs/mpl/preprocessed/src/lambda_no_ctps.cpp
new file mode 100644
index 000000000..9afc341ad
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/lambda_no_ctps.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/aux_/lambda_no_ctps.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/less.cpp b/src/boost/libs/mpl/preprocessed/src/less.cpp
new file mode 100644
index 000000000..b5eba3c11
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/less.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/less.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/less_equal.cpp b/src/boost/libs/mpl/preprocessed/src/less_equal.cpp
new file mode 100644
index 000000000..a052119da
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/less_equal.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/less_equal.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/list.cpp b/src/boost/libs/mpl/preprocessed/src/list.cpp
new file mode 100644
index 000000000..159083941
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/list.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/list.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/list_c.cpp b/src/boost/libs/mpl/preprocessed/src/list_c.cpp
new file mode 100644
index 000000000..1fd93f2dc
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/list_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/list_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/map.cpp b/src/boost/libs/mpl/preprocessed/src/map.cpp
new file mode 100644
index 000000000..588726788
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/map.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/map.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/minus.cpp b/src/boost/libs/mpl/preprocessed/src/minus.cpp
new file mode 100644
index 000000000..cdd65ef9d
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/minus.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/minus.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/modulus.cpp b/src/boost/libs/mpl/preprocessed/src/modulus.cpp
new file mode 100644
index 000000000..0eb0adf46
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/modulus.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/modulus.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/not_equal_to.cpp b/src/boost/libs/mpl/preprocessed/src/not_equal_to.cpp
new file mode 100644
index 000000000..dffa86c7c
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/not_equal_to.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/not_equal_to.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/or.cpp b/src/boost/libs/mpl/preprocessed/src/or.cpp
new file mode 100644
index 000000000..d58ed510f
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/or.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/or.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/placeholders.cpp b/src/boost/libs/mpl/preprocessed/src/placeholders.cpp
new file mode 100644
index 000000000..4acd7f76c
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/placeholders.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/placeholders.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/plus.cpp b/src/boost/libs/mpl/preprocessed/src/plus.cpp
new file mode 100644
index 000000000..4b4b450e5
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/plus.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/plus.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/quote.cpp b/src/boost/libs/mpl/preprocessed/src/quote.cpp
new file mode 100644
index 000000000..9cec2efa0
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/quote.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/quote.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/reverse_fold_impl.cpp b/src/boost/libs/mpl/preprocessed/src/reverse_fold_impl.cpp
new file mode 100644
index 000000000..cdd6b9f6e
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/reverse_fold_impl.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/aux_/reverse_fold_impl.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/reverse_iter_fold_impl.cpp b/src/boost/libs/mpl/preprocessed/src/reverse_iter_fold_impl.cpp
new file mode 100644
index 000000000..b3859d7e8
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/reverse_iter_fold_impl.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/aux_/reverse_iter_fold_impl.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/set.cpp b/src/boost/libs/mpl/preprocessed/src/set.cpp
new file mode 100644
index 000000000..0984cc9aa
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/set.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/set.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/set_c.cpp b/src/boost/libs/mpl/preprocessed/src/set_c.cpp
new file mode 100644
index 000000000..3c1f6dbb6
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/set_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/set_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/shift_left.cpp b/src/boost/libs/mpl/preprocessed/src/shift_left.cpp
new file mode 100644
index 000000000..c0c3d0f8f
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/shift_left.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/shift_left.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/shift_right.cpp b/src/boost/libs/mpl/preprocessed/src/shift_right.cpp
new file mode 100644
index 000000000..16f3dbf28
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/shift_right.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/shift_right.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/template_arity.cpp b/src/boost/libs/mpl/preprocessed/src/template_arity.cpp
new file mode 100644
index 000000000..eee7ba8b7
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/template_arity.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/aux_/template_arity.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/times.cpp b/src/boost/libs/mpl/preprocessed/src/times.cpp
new file mode 100644
index 000000000..122cfb0cc
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/times.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/times.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/unpack_args.cpp b/src/boost/libs/mpl/preprocessed/src/unpack_args.cpp
new file mode 100644
index 000000000..c3a629053
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/unpack_args.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/unpack_args.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/vector.cpp b/src/boost/libs/mpl/preprocessed/src/vector.cpp
new file mode 100644
index 000000000..ab1104bf7
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/vector.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/vector.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/src/vector_c.cpp b/src/boost/libs/mpl/preprocessed/src/vector_c.cpp
new file mode 100644
index 000000000..1b3891cbb
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/src/vector_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/vector_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/vector/vector10.cpp b/src/boost/libs/mpl/preprocessed/vector/vector10.cpp
new file mode 100644
index 000000000..6276669e9
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/vector/vector10.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/vector/vector10.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/vector/vector10_c.cpp b/src/boost/libs/mpl/preprocessed/vector/vector10_c.cpp
new file mode 100644
index 000000000..f2c7a05a8
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/vector/vector10_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/vector/vector10_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/vector/vector20.cpp b/src/boost/libs/mpl/preprocessed/vector/vector20.cpp
new file mode 100644
index 000000000..d82540879
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/vector/vector20.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/vector/vector20.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/vector/vector20_c.cpp b/src/boost/libs/mpl/preprocessed/vector/vector20_c.cpp
new file mode 100644
index 000000000..9c1c53148
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/vector/vector20_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/vector/vector20_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/vector/vector30.cpp b/src/boost/libs/mpl/preprocessed/vector/vector30.cpp
new file mode 100644
index 000000000..ccddd343e
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/vector/vector30.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/vector/vector30.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/vector/vector30_c.cpp b/src/boost/libs/mpl/preprocessed/vector/vector30_c.cpp
new file mode 100644
index 000000000..7c43f8a7c
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/vector/vector30_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/vector/vector30_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/vector/vector40.cpp b/src/boost/libs/mpl/preprocessed/vector/vector40.cpp
new file mode 100644
index 000000000..2584309e4
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/vector/vector40.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/vector/vector40.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/vector/vector40_c.cpp b/src/boost/libs/mpl/preprocessed/vector/vector40_c.cpp
new file mode 100644
index 000000000..15a8608c6
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/vector/vector40_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/vector/vector40_c.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/vector/vector50.cpp b/src/boost/libs/mpl/preprocessed/vector/vector50.cpp
new file mode 100644
index 000000000..dd577c9fa
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/vector/vector50.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/vector/vector50.hpp>
diff --git a/src/boost/libs/mpl/preprocessed/vector/vector50_c.cpp b/src/boost/libs/mpl/preprocessed/vector/vector50_c.cpp
new file mode 100644
index 000000000..2acdbcc49
--- /dev/null
+++ b/src/boost/libs/mpl/preprocessed/vector/vector50_c.cpp
@@ -0,0 +1,16 @@
+
+// Copyright Aleksey Gurtovoy 2002-2004
+//
+// 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)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_PREPROCESSING_MODE
+#include <boost/config.hpp>
+#include <boost/mpl/vector/vector50_c.hpp>