Compare commits

..

94 Commits

Author SHA1 Message Date
8bf7682f54 Rework as esp-idf component 2023-11-23 17:17:05 +01:00
46c7a05f82 Update CMakeLists.txt 2021-06-10 00:47:04 +03:00
da6801c691 Merge pull request #18 from eldiener/develop
Changes for Embarcadero C++ clang-based compilers, targeting Boost 1.74. Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost conf…
2020-08-24 14:15:39 +03:00
d30c81ab01 Update .travis.yml 2020-08-24 13:41:27 +03:00
0ebcad0700 Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers. 2020-03-28 12:23:23 -04:00
27890f7ec1 Merge pull request #17 from Kojoley/missing-cstddef-include
Missing `cstddef` include
2020-03-27 14:50:36 -04:00
a660ddd9fd Missing cstddef include 2020-03-20 19:03:48 +03:00
067ad10264 Merge pull request #15 from Mike-Devel/min_cmake
Add minimal cmake file
2018-12-30 13:25:40 -05:00
f7ceda084a [CMake] Generate cmake target that other libraries can use
... to express their dependency on this library and retrieve
any configuration information such as the include directory
and transitive dependencies.
2018-12-30 15:57:56 +01:00
e35962f3f0 Merge pull request #14 from glenfe/develop
Drop dependency on MPL and use enable_if from TypeTraits
2018-09-22 14:47:48 -04:00
fa5c6fc8e5 Drop dependency on MPL 2018-09-22 12:52:06 -04:00
7538ccb6b3 Use correct include path for workaround.hpp 2018-09-22 10:20:37 -04:00
d85bb74cb3 Use enable_if from TypeTraits 2018-09-22 10:19:30 -04:00
080f05ea46 Squash-merge branch feature/pull-11 2018-01-13 20:46:25 +02:00
0047815f4a Merge branch 'feature/ignore-deprecated' of https://github.com/DanielaE/boost.typeof into develop 2017-11-22 01:41:04 +02:00
e789dbdcbe Merge branch 'develop' 2017-11-04 20:33:26 +02:00
e9f4579047 Test typeof instead of smart_ptr :-/ 2017-11-04 16:26:08 +02:00
ec502afe5d Update .travis.yml 2017-11-04 00:36:52 +02:00
a9298ee94f Add import testing ; to test/Jamfile 2017-11-04 00:36:29 +02:00
d6f7132800 Merge pull request #10 from eldiener/develop
Remove executable attribute.
2017-11-03 23:39:24 +02:00
05ad6402ef Remove executable attribute. 2017-09-17 08:27:46 -04:00
8475a449d3 Appveyor config referenced Travis variables 2017-08-10 09:19:30 -07:00
a506733d99 Add appveyor.yml CI script. 2017-08-10 08:23:27 -07:00
be4cdd3a29 Merge branch 'develop'
Conflicts:
	include/boost/typeof/msvc/typeof_impl.hpp
	include/boost/typeof/typeof.hpp
2017-04-24 17:11:43 +03:00
5d737d61e5 conditionally ignore testcases for removed library features
Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-04-19 19:31:39 +02:00
733e1e94c8 Remove trailing whitespace 2017-04-16 18:03:52 +03:00
2b4df4f09f Merge branch 'DanielaE-feature/msvc-option-permissive-' into develop 2017-04-16 18:02:39 +03:00
12e1fe615a enable use of msvc compiler option /permissive-
The compiler hack used to emulate __typeof__ on msvc no longer works when compiler option /permissive- is engaged. Rather than preying on a compiler bug take advantage of modern c++ instead.

Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-04-16 08:51:30 +02:00
681499bba4 Merge branch 'pgroke-dt-z_OS_XL_C++_support' into develop 2017-04-16 01:27:37 +03:00
7db26fbf83 Merge branch 'z_OS_XL_C++_support' of https://github.com/pgroke-dt/typeof into pgroke-dt-z_OS_XL_C++_support 2017-04-16 01:25:32 +03:00
64ad04d3eb Merge branch 'awulkiew-fix/msc_clang' into develop 2017-04-16 01:19:39 +03:00
72e3e5ac18 Merge branch 'fix/msc_clang' of https://github.com/awulkiew/typeof into awulkiew-fix/msc_clang 2017-04-16 01:17:05 +03:00
ec9d092345 Add c++03, g++ 4.6, clang-3.4 to Travis 2017-04-16 00:22:27 +03:00
ab7073f32d Add .travis.yml 2017-04-16 00:08:05 +03:00
03ae4b3465 support for IBM XL C/C++ compiler family __typeof__ 2017-02-21 22:54:41 +01:00
1d3589e9c0 Add, and update, documentation build targets. 2016-10-10 11:39:54 -05:00
d8b8af69ac Add, and update, documentation build targets. 2016-10-07 23:07:37 -05:00
4994d5be13 Fix compilation error with MSC+Clang - check defined(__clang__) explicitly. 2016-03-16 01:55:41 +01:00
ed7d30939d Fix outdated path to boostbook css. 2016-02-23 21:55:16 -06:00
c394d0a5ae Fix outdated path to boostbook css. 2015-12-21 22:32:05 -06:00
6aea11f3df Add metadata file. 2015-01-25 20:50:03 +02:00
5bbb552f28 Merge pull request #2 from danieljames/metadata
Create metadata file.
2015-01-25 20:27:48 +02:00
5bf1a089bd Add metadata file. 2014-08-18 15:12:05 +01:00
4e34737b9c TypeOf: Fix if/elif chain after msvc 6/7 removal.
[SVN r85925]
2013-09-26 06:52:33 +00:00
8092dd0003 TypeOf: Remove obsolete MSVC version checks
[SVN r85920]
2013-09-25 21:15:54 +00:00
9fcf6ff70e reverting accidently commited change
[SVN r75052]
2011-10-18 17:25:37 +00:00
2334bc2bf7 added full qualification to enable_if for the member pointer operator
[SVN r75050]
2011-10-18 16:09:48 +00:00
e56adea1b1 Integrated from trunc: Applied patch for #5745: Use native typeof support for Oracle Solaris Studio C++ compiler
[SVN r74849]
2011-10-09 13:08:04 +00:00
731e9ce0ad Applied patch for #5745: Use native typeof support for Oracle Solaris Studio C++ compiler
[SVN r73579]
2011-08-06 18:46:43 +00:00
4fab1b5d17 fix typeof bug on msvc-7.1 that is causing type_traits/common_type.hpp to fail to compile
[SVN r66662]
2010-11-21 21:42:52 +00:00
85eed8ff60 from trunk: Updated documentation of typeof, added documentation for BOOST_TYPEOF_MESSAGE
[SVN r66131]
2010-10-21 09:39:55 +00:00
81e54ccb1f Integrated from trunk:
#4593	Type_of does not use BOOST_TYPEOF_EMULATION for VC10 and \Za
#3520	Syntax Error in boost/typeof/typeof.hpp
#4605	Make BOOST_TYPEOF_SILENT default
Apply variadic functions patch from Sergey Zubkovsky.
Allow inclusion of typeof.hpp for compilers (borland) that does not support typeof emulation or native typeof. For these compilers, BOOST_TYPEOF_EMULATION_UNSUPPORTED will be defined, and BOOST_TYPEOF(Expr) will always result in boost::type_of::typeof_emulation_is_unsupported_on_this_compiler

[SVN r66130]
2010-10-21 09:34:15 +00:00
e9749f185f From trunk: Allow inclusion of typeof.hpp for compilers (borland) that does not support typeof emulation or native typeof. For these compilers, BOOST_TYPEOF_EMULATION_UNSUPPORTED will be defined, and BOOST_TYPEOF(Expr) will always result in boost::type_of::typeof_emulation_is_unsupported_on_this_compiler
[SVN r66129]
2010-10-21 09:26:45 +00:00
bfb19140f1 Merge documentation fixes.
* Use `doc/src/*.css` instead of `doc/html/*.css`.
* Remove wiki and people directories.
* Some documentation fixes.
* Left out `minimal.css` changes and boostbook changes because of clashes.


[SVN r63347]
2010-06-26 12:30:09 +00:00
4aab62e71c rm cmake from the release branch before it goes out broken. Policy dictates that you never commit to release, you commit to trunk and merge to release.
[SVN r56941]
2009-10-17 01:10:45 +00:00
0f21fe555a Add basic copyright/license to keep cmake out of the inspection report
[SVN r55095]
2009-07-22 21:51:01 +00:00
ef283a6a74 Merge several documentation fixes. Plus a small inspect fix.
Merged revisions 50798-50799,50837-50839,50847-50848 via svnmerge from 
https://svn.boost.org/svn/boost/trunk

........
  r50798 | danieljames | 2009-01-26 23:14:53 +0000 (Mon, 26 Jan 2009) | 5 lines
  
  Make checking for duplicated names case insensitive.
  
  This avoids generating filenames with names that only differ by case as they
  cause problems on case insensitive file systems.
........
  r50799 | danieljames | 2009-01-26 23:29:52 +0000 (Mon, 26 Jan 2009) | 1 line
  
  Label the line ending inspect errors.
........
  r50837 | danieljames | 2009-01-28 09:14:21 +0000 (Wed, 28 Jan 2009) | 1 line
  
  Add scope exit to the root html file.
........
  r50838 | danieljames | 2009-01-28 09:14:45 +0000 (Wed, 28 Jan 2009) | 1 line
  
  Fix a link in the typeof forwarding html file.
........
  r50839 | danieljames | 2009-01-28 09:14:56 +0000 (Wed, 28 Jan 2009) | 1 line
  
  Fix an incorrectly escaped right arrow.
........
  r50847 | danieljames | 2009-01-28 15:17:34 +0000 (Wed, 28 Jan 2009) | 2 lines
  
  Fix some documentation issues with scope_exit.
........
  r50848 | danieljames | 2009-01-28 15:32:46 +0000 (Wed, 28 Jan 2009) | 1 line
  
  Generate the scope_exit documentation.
........


[SVN r50849]
2009-01-28 15:53:42 +00:00
33ae5341c1 merge of cmake build files from trunk per beman
[SVN r50756]
2009-01-24 18:57:20 +00:00
cde21a588d Merged from trunk: for visual studio 8 and visual studio 9, reverted to using sizeof in 'native' typeof operator as the use of typeid caused compilation error in visual studio source code analysis.
[SVN r42200]
2007-12-20 12:04:40 +00:00
3ecb3bf102 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41370]
2007-11-25 18:38:02 +00:00
1c1ab4c883 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41369]
2007-11-25 18:07:19 +00:00
8d8d35c1ae Starting point for releases
[SVN r39706]
2007-10-05 14:25:06 +00:00
84ec781ea1 This commit was manufactured by cvs2svn to create tag
'Version_1_34_1'.

[SVN r38286]
2007-07-24 19:28:14 +00:00
f7df17a93a Merged doc fix
[SVN r37564]
2007-05-02 20:03:05 +00:00
ed21868c25 tutorial text fix
[SVN r36898]
2007-02-06 01:50:40 +00:00
c66289f7ac From HEAD: Added documentation: BOOST_TYPEOF_NESTED_TYPEDEF can not be used at function/block scope
[SVN r36886]
2007-02-04 09:29:20 +00:00
43b4d4522c Remove obsolete Boost.Build v1 files.
[SVN r35880]
2006-11-06 17:10:46 +00:00
8868adc891 Merged from HEAD: Changed specialization of encode_integral for bool to work around issues with the sun compiler
[SVN r35135]
2006-09-16 17:36:03 +00:00
452b493b7a merged suppress inspection complain about unnamed ns
[SVN r35119]
2006-09-15 02:19:55 +00:00
eeff4e592c Merged supress inspection unnamed namespace
[SVN r35118]
2006-09-15 02:11:47 +00:00
1b65bfc95d Merged from HEAD: Fixed warnings on VC7.1 on integral encoding of bool
[SVN r35110]
2006-09-14 17:39:57 +00:00
eda5c4afba Merged from HEAD: Added name to copyright.
[SVN r35060]
2006-09-10 17:43:17 +00:00
340148f738 merged removed tab
[SVN r35057]
2006-09-10 16:55:21 +00:00
64ba3be86f merged inspection report fixes
[SVN r35053]
2006-09-09 17:43:02 +00:00
d337b0837a This commit was manufactured by cvs2svn to create branch 'RC_1_34_0'.
[SVN r35052]
2006-09-09 17:25:10 +00:00
dddbb00da4 Merged from HEAD: DMC support for BOOST_TYPEOF_NESTED_TYPEDEF
[SVN r35049]
2006-09-08 16:21:49 +00:00
935b36d8f5 Merged from HEAD: Support typeof emulation for DMC: Integral argument support.
[SVN r35024]
2006-09-06 17:12:45 +00:00
5bd010787a Fixed issues with support for compilers without SFINAE
[SVN r35017]
2006-09-01 19:25:45 +00:00
55ac93f947 Merged from HEAD Fixed error in code for supporting compilers without SFINAE.
[SVN r35012]
2006-08-31 11:00:14 +00:00
366ab1b621 Merged from HEAD: Disable enable_if for compiler that does not support it.
[SVN r35000]
2006-08-30 17:18:13 +00:00
aede9c2866 Remove tabs
[SVN r34996]
2006-08-29 21:14:51 +00:00
2b92bbcb21 Merged from HEAD, Fixed issue with BOOST_TYPEOF_NESTED_TYPEDEF for CW in emulation mode
[SVN r34983]
2006-08-28 16:57:08 +00:00
dff8a5c505 boost guidelines (mainly from inspect tool: tabs, license reference text, etc.); more to do...
[SVN r34753]
2006-07-27 11:48:49 +00:00
a460694e5d *** empty log message ***
[SVN r34402]
2006-06-25 23:59:21 +00:00
db9203fb0e merged SUPPRESS_UNNAMED_NAMESPACE
[SVN r34348]
2006-06-18 15:43:26 +00:00
9a14e20bc5 *** empty log message ***
[SVN r34270]
2006-06-11 12:05:52 +00:00
47a4b2a2c1 *** empty log message ***
[SVN r34215]
2006-06-07 03:00:58 +00:00
337fe1fdf6 merged function binding
[SVN r34177]
2006-06-05 02:50:05 +00:00
11b18afcce merged function binding
[SVN r34176]
2006-06-05 02:43:08 +00:00
7cbdf2406a Merged fix for VC PCH
[SVN r33800]
2006-04-25 00:57:46 +00:00
97b9bda347 merged typeof doc id
[SVN r33770]
2006-04-23 12:44:00 +00:00
041f9cfd24 Merged typo in typeof doc from HEAD
[SVN r33525]
2006-03-29 17:36:53 +00:00
c17f725e5f Merged doc fix for BOOST_TYPEOF_NESTED_TYPEDEF (removal of tabs in doc) from HEAD
[SVN r33461]
2006-03-23 20:54:37 +00:00
35874c8e32 This commit was manufactured by cvs2svn to create branch 'RC_1_34_0'.
[SVN r33417]
2006-03-21 02:26:31 +00:00
35 changed files with 1585 additions and 1134 deletions

186
.travis.yml Normal file
View File

@ -0,0 +1,186 @@
# Copyright 2016, 2017 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
language: cpp
branches:
only:
- master
- develop
- /feature\/.*/
dist: xenial
env:
matrix:
- BOGUS_JOB=true
matrix:
exclude:
- env: BOGUS_JOB=true
include:
- os: linux
compiler: g++
env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11
- os: linux
compiler: g++-4.7
env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11
addons:
apt:
packages:
- g++-4.7
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-4.8
env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11
addons:
apt:
packages:
- g++-4.8
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-4.9
env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11
addons:
apt:
packages:
- g++-4.9
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-5
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- g++-5
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-6
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- g++-6
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-7
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17
addons:
apt:
packages:
- g++-7
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11
- os: linux
compiler: clang++-3.5
env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.5
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-3.6
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.6
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-3.7
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.7
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-3.8
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.8
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-3.9
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.9
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-4.0
env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-4.0
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-5.0
env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-5.0
sources:
- ubuntu-toolchain-r-test
- os: osx
compiler: clang++
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
install:
- BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
- cd ..
- git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule update --init tools/build
- git submodule update --init libs/config
- git submodule update --init tools/boostdep
- cp -r $TRAVIS_BUILD_DIR/* libs/typeof
- python tools/boostdep/depinst/depinst.py typeof
- ./bootstrap.sh
- ./b2 headers
script:
- |-
echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
- ./b2 libs/typeof/test toolset=$TOOLSET cxxstd=$CXXSTD
notifications:
email:
on_success: always

37
CMakeLists.txt Normal file
View File

@ -0,0 +1,37 @@
# Copyright 2018 Mike Dev
# 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
if(NOT DEFINED IDF_TARGET)
cmake_minimum_required(VERSION 3.5...3.20)
project(boost_typeof VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
add_library(boost_typeof INTERFACE)
add_library(Boost::typeof ALIAS boost_typeof)
target_include_directories(boost_typeof INTERFACE include)
target_link_libraries(boost_typeof
INTERFACE
Boost::config
Boost::preprocessor
Boost::type_traits
)
else()
FILE(GLOB_RECURSE headers include/*.h include/*.hpp)
idf_component_register(
SRCS
${headers}
INCLUDE_DIRS
include
REQUIRES
boost_config
boost_preprocessor
boost_type_traits
)
endif()

62
appveyor.yml Normal file
View File

@ -0,0 +1,62 @@
# Copyright 2016 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
version: 1.0.{build}-{branch}
shallow_clone: true
branches:
only:
- master
- develop
platform:
- x64
environment:
matrix:
- ARGS: --toolset=msvc-9.0 address-model=32
- ARGS: --toolset=msvc-10.0 address-model=32
- ARGS: --toolset=msvc-11.0 address-model=32
- ARGS: --toolset=msvc-12.0 address-model=32
- ARGS: --toolset=msvc-14.0 address-model=32
- ARGS: --toolset=msvc-12.0 address-model=64
- ARGS: --toolset=msvc-14.0 address-model=64
- ARGS: --toolset=msvc-14.0 address-model=64 cxxflags=-std:c++latest
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
ARGS: --toolset=msvc-14.1 address-model=64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
ARGS: --toolset=msvc-14.1 address-model=32
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
ARGS: --toolset=msvc-14.1 address-model=64 cxxflags=-std:c++latest
- ARGS: --toolset=gcc address-model=64
PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
- ARGS: --toolset=gcc address-model=64 cxxflags=-std=gnu++1z
PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
- ARGS: --toolset=gcc address-model=32
PATH: C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin;%PATH%
- ARGS: --toolset=gcc address-model=32 linkflags=-Wl,-allow-multiple-definition
PATH: C:\MinGW\bin;%PATH%
install:
- cd ..
- git clone -b %APPVEYOR_REPO_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule update --init tools/build
- git submodule update --init libs/config
- git submodule update --init tools/boostdep
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\typeof\
- python tools/boostdep/depinst/depinst.py typeof
- bootstrap
- b2 headers
build: off
test_script:
- cd libs\config\test
- ..\..\..\b2 config_info_travis_install %ARGS%
- config_info_travis
- cd ..\..\typeof\test
- ..\..\..\b2 -j3 %ARGS% define=CI_SUPPRESS_KNOWN_ISSUES

View File

@ -15,7 +15,15 @@ boostbook standalone
<xsl:param>navig.graphics=0
;
install html : ../../../doc/html/boostbook.css ;
install html : ../../../doc/src/boostbook.css ;
install ../ : ../../../boost.png ;
###############################################################################
alias boostdoc
: typeof
:
:
: ;
explicit boostdoc ;
alias boostrelease ;
explicit boostrelease ;

View File

@ -0,0 +1,26 @@
/*
Copyright 2018 Glen Joseph Fernandes
(glenjofe@gmail.com)
Distributed under the Boost Software License, Version 1.0.
(http://www.boost.org/LICENSE_1_0.txt)
*/
#ifndef BOOST_TYPEOF_CONSTANT_HPP
#define BOOST_TYPEOF_CONSTANT_HPP
#include <boost/config.hpp>
namespace boost {
namespace type_of {
template<class T, T N>
struct constant {
typedef constant<T, N> type;
typedef constant<T, N + 1> next;
BOOST_STATIC_CONSTANT(T, value=N);
};
} /* type_of */
} /* boost */
#endif

View File

@ -0,0 +1,34 @@
// Copyright (C) 2006 Arkadiy Vertleyb
// Copyright (C) 2017 Daniela Engert
// Use, modification and distribution is subject to the Boost Software
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_TYPEOF_DECLTYPE_HPP_INCLUDED
# define BOOST_TYPEOF_DECLTYPE_HPP_INCLUDED
#include <boost/type_traits/remove_cv.hpp>
#include <boost/type_traits/remove_reference.hpp>
namespace boost { namespace type_of {
template<typename T>
using remove_cv_ref_t = typename remove_cv<typename remove_reference<T>::type>::type;
}}
#define BOOST_TYPEOF(expr) boost::type_of::remove_cv_ref_t<decltype(expr)>
#define BOOST_TYPEOF_TPL BOOST_TYPEOF
#define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
struct name {\
typedef BOOST_TYPEOF_TPL(expr) type;\
};
#define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
struct name {\
typedef BOOST_TYPEOF(expr) type;\
};
#define BOOST_TYPEOF_REGISTER_TYPE(x)
#define BOOST_TYPEOF_REGISTER_TEMPLATE(x, params)
#endif //BOOST_TYPEOF_DECLTYPE_HPP_INCLUDED

View File

@ -7,8 +7,8 @@
# define BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
# include <boost/config.hpp>
# include <boost/detail/workaround.hpp>
# include <boost/mpl/int.hpp>
# include <boost/config/workaround.hpp>
# include <boost/typeof/constant.hpp>
namespace boost
{
@ -45,7 +45,7 @@ namespace boost
template<int ID>
struct msvc_typeid_wrapper {
typedef typename msvc_extract_type<mpl::int_<ID> >::id2type id2type;
typedef typename msvc_extract_type<constant<int,ID> >::id2type id2type;
typedef typename id2type::type type;
};
@ -56,7 +56,7 @@ namespace boost
//Get the next available compile time constants index
BOOST_STATIC_CONSTANT(unsigned,value=BOOST_TYPEOF_INDEX(T));
//Instantiate the template
typedef typename msvc_register_type<T,mpl::int_<value> >::id2type type;
typedef typename msvc_register_type<T,constant<int,value> >::id2type type;
//Set the next compile time constants index
BOOST_STATIC_CONSTANT(unsigned,next=value+1);
//Increment the compile time constant (only needed when extensions are not active

View File

@ -8,9 +8,6 @@
#ifndef BOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
#define BOOST_TYPEOF_ENCODE_DECODE_HPP_INCLUDED
#include <boost/mpl/deref.hpp>
#include <boost/mpl/next.hpp>
#ifndef BOOST_TYPEOF_SUPPRESS_UNNAMED_NAMESPACE
# define BOOST_TYPEOF_BEGIN_ENCODE_NS namespace { namespace boost_typeof {

View File

@ -28,7 +28,7 @@
#define BOOST_TYPEOF_ENCODE_PARAMS(n, ID) \
BOOST_PP_REPEAT(n, BOOST_TYPEOF_ENCODE_PARAMS_BEGIN, ~) \
typename boost::type_of::push_back<V, boost::mpl::size_t<ID> >::type \
typename boost::type_of::push_back<V, boost::type_of::constant<std::size_t,ID> >::type \
BOOST_PP_REPEAT(n, BOOST_TYPEOF_ENCODE_PARAMS_END, ~)
#endif//BOOST_TYPEOF_ENCODE_DECODE_PARAMS_HPP_INCLUDED

View File

@ -5,9 +5,9 @@
#ifndef BOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
#define BOOST_TYPEOF_INT_ENCODING_HPP_INCLUDED
#include <boost/mpl/if.hpp>
#include <boost/mpl/size_t.hpp>
#include <boost/config.hpp>
#include <boost/typeof/constant.hpp>
#include <cstddef> // for std::size_t
namespace boost { namespace type_of {
@ -56,15 +56,15 @@ namespace boost { namespace type_of {
template<class V, std::size_t n, bool overflow = (n >= 0x3fffffff)>
struct encode_size_t : push_back<
V,
boost::mpl::size_t<pack<n, false>::value>
boost::type_of::constant<std::size_t,pack<n, false>::value>
>
{};
template<class V, std::size_t n>
struct encode_size_t<V, n, true> : push_back<typename push_back<
V,
boost::mpl::size_t<pack<n % 0x3ffffffe, true>::value> >::type,
boost::mpl::size_t<n / 0x3ffffffe>
boost::type_of::constant<std::size_t,pack<n % 0x3ffffffe, true>::value> >::type,
boost::type_of::constant<std::size_t,n / 0x3ffffffe>
>
{};

View File

@ -19,11 +19,11 @@
typename boost::type_of::encode_type<\
typename boost::type_of::push_back<\
V\
, boost::mpl::size_t<ID> >::type\
, boost::type_of::constant<std::size_t,ID> >::type\
, T>::type\
type;\
};\
template<class Iter> struct decode_type_impl<boost::mpl::size_t<ID>, Iter>\
template<class Iter> struct decode_type_impl<boost::type_of::constant<std::size_t,ID>, Iter>\
{\
typedef boost::type_of::decode_type<Iter> d1;\
typedef Fun(typename d1::type) type;\
@ -37,7 +37,7 @@
#define BOOST_TYPEOF_pointer_fun(T) T*
#define BOOST_TYPEOF_reference_fun(T) T&
#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
#if defined(__BORLANDC__) && !defined(__clang__) && (__BORLANDC__ < 0x600)
//Borland incorrectly handles T const, T const volatile and T volatile.
//It drops the decoration no matter what, so we need to try to handle T* const etc. without loosing the top modifier.
#define BOOST_TYPEOF_const_pointer_fun(T) T const *
@ -56,7 +56,7 @@ BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_co
BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_pointer_fun);
BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_reference_fun);
#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
#if defined(__BORLANDC__) && !defined(__clang__) && (__BORLANDC__ < 0x600)
BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_const_pointer_fun);
BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_const_reference_fun);
BOOST_TYPEOF_modifier_support(BOOST_TYPEOF_UNIQUE_ID(), BOOST_TYPEOF_volatile_pointer_fun);
@ -74,7 +74,7 @@ BOOST_TYPEOF_END_ENCODE_NS
#undef BOOST_TYPEOF_pointer_fun
#undef BOOST_TYPEOF_reference_fun
#if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
#if defined(__BORLANDC__) && !defined(__clang__) && (__BORLANDC__ < 0x600)
#undef BOOST_TYPEOF_const_pointer_fun
#undef BOOST_TYPEOF_const_reference_fun
#undef BOOST_TYPEOF_volatile_pointer_fun
@ -94,13 +94,13 @@ BOOST_TYPEOF_END_ENCODE_NS
typename boost::type_of::push_back<\
typename boost::type_of::push_back<\
V\
, boost::mpl::size_t<ID> >::type\
, boost::mpl::size_t<N> >::type\
, boost::type_of::constant<std::size_t,ID> >::type\
, boost::type_of::constant<std::size_t,N> >::type\
, T>::type\
type;\
};\
template<class Iter>\
struct decode_type_impl<boost::mpl::size_t<ID>, Iter>\
struct decode_type_impl<boost::type_of::constant<std::size_t,ID>, Iter>\
{\
enum{n = Iter::type::value};\
typedef boost::type_of::decode_type<typename Iter::next> d;\

View File

@ -10,14 +10,12 @@
# define BOOST_TYPEOF_MSVC_TYPEOF_IMPL_HPP_INCLUDED
# include <boost/config.hpp>
# include <boost/detail/workaround.hpp>
# include <boost/mpl/int.hpp>
# include <boost/config/workaround.hpp>
# include <boost/typeof/constant.hpp>
# include <boost/type_traits/enable_if.hpp>
# include <boost/type_traits/is_function.hpp>
# include <boost/utility/enable_if.hpp>
# if BOOST_WORKAROUND(BOOST_MSVC,>=1310)
# include <typeinfo>
# endif
# include <typeinfo>
namespace boost
{
@ -25,7 +23,7 @@ namespace boost
{
//Compile time constant code
# if BOOST_WORKAROUND(BOOST_MSVC,>=1300) && defined(_MSC_EXTENSIONS)
# if defined(_MSC_EXTENSIONS)
template<int N> struct the_counter;
template<typename T,int N = 5/*for similarity*/>
@ -85,26 +83,7 @@ namespace boost
//Typeof code
# if BOOST_WORKAROUND(BOOST_MSVC,==1300)
template<typename ID>
struct msvc_extract_type
{
template<bool>
struct id2type_impl;
typedef id2type_impl<true> id2type;
};
template<typename T, typename ID>
struct msvc_register_type : msvc_extract_type<ID>
{
template<>
struct id2type_impl<true> //VC7.0 specific bugfeature
{
typedef T type;
};
};
#elif BOOST_WORKAROUND(BOOST_MSVC,>=1400)
# if BOOST_WORKAROUND(BOOST_MSVC,>=1400)
struct msvc_extract_type_default_param {};
template<typename ID, typename T = msvc_extract_type_default_param>
@ -156,7 +135,7 @@ namespace boost
template<int ID>
struct msvc_typeid_wrapper {
typedef typename msvc_extract_type<mpl::int_<ID> >::id2type id2type;
typedef typename msvc_extract_type<constant<int,ID> >::id2type id2type;
typedef typename id2type::type type;
};
//Workaround for ETI-bug for VC6 and VC7
@ -177,7 +156,7 @@ namespace boost
//Get the next available compile time constants index
BOOST_STATIC_CONSTANT(unsigned,value=BOOST_TYPEOF_INDEX(T));
//Instantiate the template
typedef typename msvc_register_type<T,mpl::int_<value> >::id2type type;
typedef typename msvc_register_type<T,constant<int,value> >::id2type type;
//Set the next compile time constants index
BOOST_STATIC_CONSTANT(unsigned,next=value+1);
//Increment the compile time constant (only needed when extensions are not active
@ -189,18 +168,13 @@ namespace boost
{
typedef char(*type)[encode_type<T>::value];
};
# if BOOST_WORKAROUND(BOOST_MSVC,>=1310)
template<typename T> typename disable_if<
typename is_function<T>::type,
template<typename T> typename enable_if_<
!is_function<T>::value,
typename sizer<T>::type>::type encode_start(T const&);
template<typename T> typename enable_if<
typename is_function<T>::type,
template<typename T> typename enable_if_<
is_function<T>::value,
typename sizer<T>::type>::type encode_start(T&);
# else
template<typename T>
typename sizer<T>::type encode_start(T const&);
# endif
template<typename Organizer, typename T>
msvc_register_type<T,Organizer> typeof_register_type(const T&,Organizer* =0);

View File

@ -18,8 +18,8 @@ namespace boost { namespace type_of {
#else
#include <boost/type_traits/enable_if.hpp>
#include <boost/type_traits/is_function.hpp>
#include <boost/utility/enable_if.hpp>
namespace boost { namespace type_of {
# ifdef BOOST_NO_SFINAE
@ -27,11 +27,11 @@ namespace boost { namespace type_of {
T& ensure_obj(const T&);
# else
template<typename T>
typename enable_if<is_function<T>, T&>::type
typename enable_if_<is_function<T>::value, T&>::type
ensure_obj(T&);
template<typename T>
typename disable_if<is_function<T>, T&>::type
typename enable_if_<!is_function<T>::value, T&>::type
ensure_obj(const T&);
# endif
}}

View File

@ -21,7 +21,7 @@ struct encode_type_impl<V, P0 P1::*>
};
template<class Iter>
struct decode_type_impl<boost::mpl::size_t<PTR_DATA_MEM_ID>, Iter>
struct decode_type_impl<boost::type_of::constant<std::size_t,PTR_DATA_MEM_ID>, Iter>
{
typedef Iter iter0;
BOOST_TYPEOF_DECODE_PARAMS(2)
@ -29,7 +29,7 @@ struct decode_type_impl<boost::mpl::size_t<PTR_DATA_MEM_ID>, Iter>
template<class T> struct workaround{
typedef p0 T::* type;
};
typedef typename decode_type_impl<boost::mpl::size_t<PTR_DATA_MEM_ID>, Iter>::template workaround<p1>::type type;
typedef typename decode_type_impl<boost::type_of::constant<std::size_t,PTR_DATA_MEM_ID>, Iter>::template workaround<p1>::type type;
typedef iter2 iter;
};

View File

@ -23,7 +23,7 @@ struct encode_type_impl<V, R(*)(BOOST_PP_ENUM_PARAMS(n, P) ...)>
};
template<class Iter>
struct decode_type_impl<boost::mpl::size_t<FUN_PTR_ID + n>, Iter>
struct decode_type_impl<boost::type_of::constant<std::size_t,FUN_PTR_ID + n>, Iter>
{
typedef Iter iter0;
BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
@ -32,7 +32,7 @@ struct decode_type_impl<boost::mpl::size_t<FUN_PTR_ID + n>, Iter>
};
template<class Iter>
struct decode_type_impl<boost::mpl::size_t<FUN_VAR_PTR_ID + n>, Iter>
struct decode_type_impl<boost::type_of::constant<std::size_t,FUN_VAR_PTR_ID + n>, Iter>
{
typedef Iter iter0;
BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
@ -59,7 +59,7 @@ struct decode_type_impl<boost::mpl::size_t<FUN_VAR_PTR_ID + n>, Iter>
};
template<class Iter>
struct decode_type_impl<boost::mpl::size_t<FUN_REF_ID + n>, Iter>
struct decode_type_impl<boost::type_of::constant<std::size_t,FUN_REF_ID + n>, Iter>
{
typedef Iter iter0;
BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
@ -68,7 +68,7 @@ struct decode_type_impl<boost::mpl::size_t<FUN_VAR_PTR_ID + n>, Iter>
};
template<class Iter>
struct decode_type_impl<boost::mpl::size_t<FUN_VAR_REF_ID + n>, Iter>
struct decode_type_impl<boost::type_of::constant<std::size_t,FUN_VAR_REF_ID + n>, Iter>
{
typedef Iter iter0;
BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
@ -93,7 +93,7 @@ struct decode_type_impl<boost::mpl::size_t<FUN_VAR_PTR_ID + n>, Iter>
};
template<class Iter>
struct decode_type_impl<boost::mpl::size_t<FUN_ID + n>, Iter>
struct decode_type_impl<boost::type_of::constant<std::size_t,FUN_ID + n>, Iter>
{
typedef Iter iter0;
BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))
@ -102,7 +102,7 @@ struct decode_type_impl<boost::mpl::size_t<FUN_VAR_PTR_ID + n>, Iter>
};
template<class Iter>
struct decode_type_impl<boost::mpl::size_t<FUN_VAR_ID + n>, Iter>
struct decode_type_impl<boost::type_of::constant<std::size_t,FUN_VAR_ID + n>, Iter>
{
typedef Iter iter0;
BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_INC(n))

View File

@ -34,16 +34,15 @@ BOOST_TYPEOF_REGISTER_TYPE(long double)
BOOST_TYPEOF_REGISTER_TYPE(wchar_t)
#endif
#if (defined(BOOST_MSVC) && (BOOST_MSVC == 1200)) \
|| (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
|| (defined(__BORLANDC__) && (__BORLANDC__ == 0x600) && (_MSC_VER == 1200))
#if (defined(BOOST_INTEL_CXX_VERSION) && defined(_MSC_VER) && (BOOST_INTEL_CXX_VERSION <= 600)) \
|| (defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x600) && (_MSC_VER == 1200))
BOOST_TYPEOF_REGISTER_TYPE(unsigned __int8)
BOOST_TYPEOF_REGISTER_TYPE(__int8)
BOOST_TYPEOF_REGISTER_TYPE(unsigned __int16)
BOOST_TYPEOF_REGISTER_TYPE(__int16)
BOOST_TYPEOF_REGISTER_TYPE(unsigned __int32)
BOOST_TYPEOF_REGISTER_TYPE(__int32)
#ifdef __BORLANDC__
#ifdef BOOST_BORLANDC
BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
BOOST_TYPEOF_REGISTER_TYPE(__int64)
#endif

View File

@ -15,7 +15,7 @@ struct encode_type_impl<V, R(T::*)(BOOST_PP_ENUM_PARAMS(n, P)) BOOST_TYPEOF_qual
};
template<class Iter>
struct decode_type_impl<boost::mpl::size_t<BOOST_TYPEOF_id + n>, Iter>
struct decode_type_impl<boost::type_of::constant<std::size_t,BOOST_TYPEOF_id + n>, Iter>
{
typedef Iter iter0;
BOOST_TYPEOF_DECODE_PARAMS(BOOST_PP_ADD(n, 2))

View File

@ -10,8 +10,10 @@
#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
#ifndef BOOST_NO_CXX98_FUNCTION_BASE
BOOST_TYPEOF_REGISTER_TEMPLATE(std::unary_function, 2)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::binary_function, 3)
#endif//BOOST_NO_CXX98_FUNCTION_BASE
BOOST_TYPEOF_REGISTER_TEMPLATE(std::plus, 1)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::minus, 1)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::multiplies, 1)
@ -30,6 +32,8 @@ BOOST_TYPEOF_REGISTER_TEMPLATE(std::logical_not, 1)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::unary_negate, 1)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::binary_negate, 1)
#ifndef BOOST_NO_CXX98_BINDERS
#if defined(__MWERKS__) && defined(_MSL_EXTENDED_BINDERS)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::binder1st, 2)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::binder2nd, 2)
@ -52,4 +56,6 @@ BOOST_TYPEOF_REGISTER_TEMPLATE(std::mem_fun1_ref_t, 3)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::const_mem_fun1_ref_t, 3)
#endif//BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, == 1)
#endif//BOOST_NO_CXX98_BINDERS
#endif//BOOST_TYPEOF_STD_functional_hpp_INCLUDED

View File

@ -12,6 +12,8 @@
BOOST_TYPEOF_REGISTER_TEMPLATE(std::allocator, 1)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::raw_storage_iterator, 2)
#ifndef BOOST_NO_AUTO_PTR
BOOST_TYPEOF_REGISTER_TEMPLATE(std::auto_ptr, 1)
#endif//BOOST_NO_AUTO_PTR
#endif//BOOST_TYPEOF_STD_memory_hpp_INCLUDED

View File

@ -16,7 +16,7 @@ BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_string, 1)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_string, 2)
BOOST_TYPEOF_REGISTER_TEMPLATE(std::basic_string, 3)
#ifndef __BORLANDC__
#ifndef BOOST_BORLANDC
//Borland chokes on this "double definition" of string
BOOST_TYPEOF_REGISTER_TYPE(std::string)
#endif

View File

@ -23,7 +23,7 @@
#include <boost/typeof/integral_template_param.hpp>
#include <boost/typeof/template_template_param.hpp>
#ifdef __BORLANDC__
#ifdef BOOST_BORLANDC
#define BOOST_TYPEOF_QUALIFY(P) self_t::P
#else
#define BOOST_TYPEOF_QUALIFY(P) P
@ -141,15 +141,15 @@
>\
struct encode_type_impl<V, Name<BOOST_PP_ENUM_PARAMS(Size, P)> >\
{\
typedef typename boost::type_of::push_back<V, boost::mpl::size_t<ID> >::type V0;\
typedef typename boost::type_of::push_back<V, boost::type_of::constant<std::size_t,ID> >::type V0;\
BOOST_PP_SEQ_FOR_EACH_I(BOOST_TYPEOF_REGISTER_TEMPLATE_ENCODE_PARAM, ~, Params)\
typedef BOOST_PP_CAT(V, Size) type;\
};\
template<class Iter>\
struct decode_type_impl<boost::mpl::size_t<ID>, Iter>\
struct decode_type_impl<boost::type_of::constant<std::size_t,ID>, Iter>\
{\
typedef decode_type_impl<boost::mpl::size_t<ID>, Iter> self_t;\
typedef boost::mpl::size_t<ID> self_id;\
typedef decode_type_impl<boost::type_of::constant<std::size_t,ID>, Iter> self_t;\
typedef boost::type_of::constant<std::size_t,ID> self_id;\
typedef Iter iter0;\
BOOST_PP_SEQ_FOR_EACH_I(BOOST_TYPEOF_REGISTER_TEMPLATE_DECODE_PARAM, ~, Params)\
BOOST_TYPEOF_TYPEDEF_DECODED_TYPE(Name, Params)\

View File

@ -81,10 +81,10 @@ namespace boost { namespace type_of {
BOOST_PP_ENUM_PARAMS(\
BOOST_PP_SEQ_SIZE(Params),\
P)> >\
: boost::type_of::push_back<V, boost::mpl::size_t<ID> >\
: boost::type_of::push_back<V, boost::type_of::constant<std::size_t,ID> >\
{\
};\
template<class Iter> struct decode_template_impl<boost::mpl::size_t<ID>, Iter>\
template<class Iter> struct decode_template_impl<boost::type_of::constant<std::size_t,ID>, Iter>\
{\
BOOST_PP_REPEAT(BOOST_PP_SEQ_SIZE(Params),BOOST_TYPEOF_TYPEDEF_INT_PN,_)\
typedef Name<BOOST_TYPEOF_SEQ_ENUM(Params,BOOST_TYPEOF_PLACEHOLDER) > type;\
@ -93,7 +93,7 @@ namespace boost { namespace type_of {
#define BOOST_TYPEOF_TYPEDEF_INT_PN(z,n,Params) typedef int BOOST_PP_CAT(P,n);
#ifdef __BORLANDC__
#if defined(__BORLANDC__) && !defined(__clang__)
#define BOOST_TYPEOF_DECODE_NESTED_TEMPLATE_HELPER_NAME BOOST_PP_CAT(\
BOOST_PP_CAT(\
BOOST_PP_CAT(\

View File

@ -8,9 +8,9 @@
#define BOOST_TYPEOF_REGISTER_TYPE_IMPL(T, Id) \
\
template<class V> struct encode_type_impl<V, T > \
: boost::type_of::push_back<V, boost::mpl::size_t<Id> > \
: boost::type_of::push_back<V, boost::type_of::constant<std::size_t,Id> > \
{}; \
template<class Iter> struct decode_type_impl<boost::mpl::size_t<Id>, Iter> \
template<class Iter> struct decode_type_impl<boost::type_of::constant<std::size_t,Id>, Iter> \
{ \
typedef T type; \
typedef Iter iter; \

View File

@ -13,7 +13,16 @@
# error both typeof emulation and native mode requested
#endif
#if defined(__COMO__)
#include <boost/config.hpp>
#include <boost/config/workaround.hpp>
#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1900) && !defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) && !defined(BOOST_TYPEOF_EMULATION)
# define BOOST_TYPEOF_DECLTYPE
# ifndef BOOST_TYPEOF_NATIVE
# define BOOST_TYPEOF_NATIVE
# endif
#elif defined(__COMO__)
# ifdef __GNUG__
# ifndef BOOST_TYPEOF_EMULATION
# ifndef BOOST_TYPEOF_NATIVE
@ -49,7 +58,7 @@
# endif
# endif
#elif defined(__GNUC__)
#elif defined(__GNUC__) || defined(__clang__)
# ifndef BOOST_TYPEOF_EMULATION
# ifndef BOOST_TYPEOF_NATIVE
# define BOOST_TYPEOF_NATIVE
@ -75,7 +84,7 @@
# define BOOST_TYPEOF_KEYWORD __typeof__
# endif
# endif
#elif defined __CODEGEARC__
#elif defined BOOST_CODEGEARC
# ifndef BOOST_TYPEOF_EMULATION
# ifndef BOOST_TYPEOF_NATIVE
# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
@ -83,7 +92,7 @@
# else
# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
# endif
#elif defined __BORLANDC__
#elif defined BOOST_BORLANDC
# ifndef BOOST_TYPEOF_EMULATION
# ifndef BOOST_TYPEOF_NATIVE
# define BOOST_TYPEOF_EMULATION_UNSUPPORTED
@ -100,17 +109,7 @@
# define MSVC_TYPEOF_HACK
# endif
#elif defined(_MSC_VER)
# if (_MSC_VER <= 1300) // 6.5, 7.0
# ifndef BOOST_TYPEOF_EMULATION
# ifndef BOOST_TYPEOF_NATIVE
# define BOOST_TYPEOF_NATIVE
# endif
# include <boost/typeof/msvc/typeof_impl.hpp>
# define MSVC_TYPEOF_HACK
# else
# error typeof emulation is not supported
# endif
# elif (_MSC_VER >= 1310) // 7.1 ->
# if (_MSC_VER >= 1310) // 7.1 ->
# ifndef BOOST_TYPEOF_EMULATION
# ifndef BOOST_TYPEOF_NATIVE
# ifndef _MSC_EXTENSIONS
@ -143,8 +142,8 @@
# error native typeof is not supported
# endif
#elif defined(__BORLANDC__)
# if (__BORLANDC__ < 0x590)
#elif defined(BOOST_BORLANDC)
# if (BOOST_BORLANDC < 0x590)
# define BOOST_TYPEOF_NO_FUNCTION_TYPES
# define BOOST_TYPEOF_NO_MEMBER_FUNCTION_TYPES
# endif
@ -155,7 +154,29 @@
# else
# error native typeof is not supported
# endif
#elif defined(__SUNPRO_CC)
# if (__SUNPRO_CC < 0x590 )
# ifdef BOOST_TYPEOF_NATIVE
# error native typeof is not supported
# endif
# ifndef BOOST_TYPEOF_EMULATION
# define BOOST_TYPEOF_EMULATION
# endif
# else
# ifndef BOOST_TYPEOF_EMULATION
# ifndef BOOST_TYPEOF_NATIVE
# define BOOST_TYPEOF_NATIVE
# endif
# define BOOST_TYPEOF_KEYWORD __typeof__
# endif
# endif
#elif defined(__IBM__TYPEOF__)
# ifndef BOOST_TYPEOF_EMULATION
# ifndef BOOST_TYPEOF_NATIVE
# define BOOST_TYPEOF_NATIVE
# endif
# define BOOST_TYPEOF_KEYWORD __typeof__
# endif
#else //unknown compiler
# ifndef BOOST_TYPEOF_NATIVE
# ifndef BOOST_TYPEOF_EMULATION
@ -191,7 +212,11 @@
#elif defined(BOOST_TYPEOF_NATIVE)
# define BOOST_TYPEOF_TEXT "using native typeof"
# include <boost/typeof/message.hpp>
# include <boost/typeof/native.hpp>
# ifdef BOOST_TYPEOF_DECLTYPE
# include <boost/typeof/decltype.hpp>
# else
# include <boost/typeof/native.hpp>
# endif
#else
# error typeof configuration error
#endif

View File

@ -6,12 +6,13 @@
#ifndef BOOST_TYPEOF_TYPEOF_IMPL_HPP_INCLUDED
#define BOOST_TYPEOF_TYPEOF_IMPL_HPP_INCLUDED
#include <boost/mpl/size_t.hpp>
#include <boost/preprocessor/repetition/enum.hpp>
#include <boost/typeof/constant.hpp>
#include <boost/typeof/encode_decode.hpp>
#include <boost/typeof/vector.hpp>
#include <boost/type_traits/enable_if.hpp>
#include <boost/type_traits/is_function.hpp>
#include <boost/utility/enable_if.hpp>
#include <cstddef> // for std::size_t
#define BOOST_TYPEOF_VECTOR(n) BOOST_PP_CAT(boost::type_of::vector, n)
@ -39,13 +40,13 @@ namespace boost { namespace type_of {
sizer<typename encode_type<V, T>::type> encode(const T&);
# else
template<class V, class T>
typename enable_if<
typename is_function<T>::type,
typename enable_if_<
is_function<T>::value,
sizer<typename encode_type<V, T>::type> >::type encode(T&);
template<class V, class T>
typename disable_if<
typename is_function<T>::type,
typename enable_if_<
!is_function<T>::value,
sizer<typename encode_type<V, T>::type> >::type encode(const T&);
# endif
}}
@ -60,7 +61,7 @@ namespace boost { namespace type_of {
}}
#define BOOST_TYPEOF_TYPEITEM(z, n, expr)\
boost::mpl::size_t<sizeof(boost::type_of::encode<BOOST_TYPEOF_VECTOR(0)<> >(expr).item ## n)>
boost::type_of::constant<std::size_t,sizeof(boost::type_of::encode<BOOST_TYPEOF_VECTOR(0)<> >(expr).item ## n)>
#define BOOST_TYPEOF_ENCODED_VECTOR(Expr) \
BOOST_TYPEOF_VECTOR(BOOST_TYPEOF_LIMIT_SIZE)< \
@ -85,14 +86,14 @@ namespace boost { namespace type_of {
};
template<class V,class T>
struct push_back<boost::type_of::offset_vector<V,mpl::size_t<0> >,T> {
struct push_back<boost::type_of::offset_vector<V,constant<std::size_t,0> >,T> {
typedef typename push_back<V,T>::type type;
};
}}
#define BOOST_TYPEOF_NESTED_TYPEITEM(z, n, expr)\
BOOST_STATIC_CONSTANT(int,BOOST_PP_CAT(value,n) = sizeof(boost::type_of::encode<_typeof_start_vector>(expr).item ## n));\
typedef boost::mpl::size_t<BOOST_PP_CAT(self_t::value,n)> BOOST_PP_CAT(item,n);
typedef boost::type_of::constant<std::size_t,BOOST_PP_CAT(self_t::value,n)> BOOST_PP_CAT(item,n);
#ifdef __DMC__
#define BOOST_TYPEOF_NESTED_TYPEITEM_2(z,n,expr)\
@ -106,7 +107,7 @@ namespace boost { namespace type_of {
typedef _typeof_encode_fraction<self_t::iteration> fraction_type;
#endif
#ifdef __BORLANDC__
#ifdef BOOST_BORLANDC
namespace boost { namespace type_of {
template<typename Pos,typename Iter>
struct generic_typeof_fraction_iter {
@ -116,7 +117,7 @@ namespace boost { namespace type_of {
static const int where=pos%5;
typedef typename Iter::template _apply_next<self_t::iteration>::type fraction_type;
typedef generic_typeof_fraction_iter<typename Pos::next,Iter> next;
typedef typename v_iter<fraction_type,mpl::int_<self_t::where> >::type type;
typedef typename v_iter<fraction_type,constant<int, self_t::where> >::type type;
};
}}
#define BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr) \
@ -124,7 +125,7 @@ namespace boost { namespace type_of {
struct _typeof_encode_fraction {\
typedef _typeof_encode_fraction<_Typeof_Iteration> self_t;\
BOOST_STATIC_CONSTANT(int,_typeof_encode_offset = (_Typeof_Iteration*BOOST_TYPEOF_LIMIT_SIZE));\
typedef boost::type_of::offset_vector<BOOST_TYPEOF_VECTOR(0)<>,boost::mpl::size_t<self_t::_typeof_encode_offset> > _typeof_start_vector;\
typedef boost::type_of::offset_vector<BOOST_TYPEOF_VECTOR(0)<>,boost::type_of::constant<std::size_t,self_t::_typeof_encode_offset> > _typeof_start_vector;\
BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE,BOOST_TYPEOF_NESTED_TYPEITEM,expr)\
template<int Next>\
struct _apply_next {\
@ -143,7 +144,7 @@ namespace boost { namespace type_of {
struct _typeof_encode_fraction {\
typedef _typeof_encode_fraction<_Typeof_Iteration> self_t;\
BOOST_STATIC_CONSTANT(int,_typeof_encode_offset = (_Typeof_Iteration*BOOST_TYPEOF_LIMIT_SIZE));\
typedef boost::type_of::offset_vector<BOOST_TYPEOF_VECTOR(0)<>,boost::mpl::size_t<self_t::_typeof_encode_offset> > _typeof_start_vector;\
typedef boost::type_of::offset_vector<BOOST_TYPEOF_VECTOR(0)<>,boost::type_of::constant<std::size_t,self_t::_typeof_encode_offset> > _typeof_start_vector;\
BOOST_PP_REPEAT(BOOST_TYPEOF_LIMIT_SIZE,BOOST_TYPEOF_NESTED_TYPEITEM,expr)\
};\
template<typename Pos>\
@ -153,7 +154,7 @@ namespace boost { namespace type_of {
BOOST_STATIC_CONSTANT(int,iteration=(pos/BOOST_TYPEOF_LIMIT_SIZE));\
BOOST_STATIC_CONSTANT(int,where=pos%BOOST_TYPEOF_LIMIT_SIZE);\
BOOST_TYPEOF_FRACTIONTYPE()\
typedef typename boost::type_of::v_iter<fraction_type,boost::mpl::int_<self_t::where> >::type type;\
typedef typename boost::type_of::v_iter<fraction_type,boost::type_of::constant<int,self_t::where> >::type type;\
typedef _typeof_fraction_iter<typename Pos::next> next;\
};
#endif
@ -163,7 +164,7 @@ namespace boost { namespace type_of {
template<typename T>\
struct BOOST_PP_CAT(_typeof_template_,name) {\
BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
typedef typename boost::type_of::decode_type<_typeof_fraction_iter<boost::mpl::size_t<0> > >::type type;\
typedef typename boost::type_of::decode_type<_typeof_fraction_iter<boost::type_of::constant<std::size_t,0> > >::type type;\
};\
typedef BOOST_PP_CAT(_typeof_template_,name)<int> name;
@ -173,13 +174,13 @@ typedef BOOST_PP_CAT(_typeof_template_,name)<int> name;
# define BOOST_TYPEOF_NESTED_TYPEDEF_TPL(name,expr) \
struct name {\
BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
typedef typename boost::type_of::decode_type<_typeof_fraction_iter<boost::mpl::size_t<0> > >::type type;\
typedef typename boost::type_of::decode_type<_typeof_fraction_iter<boost::type_of::constant<std::size_t,0> > >::type type;\
};
# define BOOST_TYPEOF_NESTED_TYPEDEF(name,expr) \
struct name {\
BOOST_TYPEOF_NESTED_TYPEDEF_IMPL(expr)\
typedef boost::type_of::decode_type<_typeof_fraction_iter<boost::mpl::size_t<0> > >::type type;\
typedef boost::type_of::decode_type<_typeof_fraction_iter<boost::type_of::constant<std::size_t,0> > >::type type;\
};
#endif

View File

@ -8,7 +8,7 @@
#ifndef BOOST_TYPEOF_VECTOR_HPP_INCLUDED
#include <boost/mpl/int.hpp>
#include <boost/typeof/constant.hpp>
#include <boost/preprocessor/iteration/self.hpp>
#ifndef BOOST_TYPEOF_LIMIT_SIZE
@ -76,10 +76,10 @@
# define BOOST_TYPEOF_spec_iter(n)\
template<class V>\
struct v_iter<V, mpl::int_<n> >\
struct v_iter<V, constant<int,n> >\
{\
typedef typename V::item ## n type;\
typedef v_iter<V, mpl::int_<n + 1> > next;\
typedef v_iter<V, constant<int,n + 1> > next;\
};
namespace boost { namespace type_of {
@ -101,13 +101,13 @@ namespace boost { namespace type_of {
typedef P ## n item ## n;
# define BOOST_TYPEOF_typedef_fake_item(z, n, _)\
typedef mpl::int_<1> item ## n;
typedef constant<int,1> item ## n;
# define BOOST_TYPEOF_define_vector(n)\
template<BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IIF(BOOST_PP_NOT(n), class T = void)>\
struct vector ## n\
{\
typedef v_iter<vector ## n<BOOST_PP_ENUM_PARAMS(n,P)>, boost::mpl::int_<0> > begin;\
typedef v_iter<vector ## n<BOOST_PP_ENUM_PARAMS(n,P)>, boost::type_of::constant<int,0> > begin;\
BOOST_PP_REPEAT(n, BOOST_TYPEOF_typedef_item, ~)\
BOOST_PP_REPEAT_FROM_TO(n, BOOST_TYPEOF_PP_NEXT_SIZE, BOOST_TYPEOF_typedef_fake_item, ~)\
};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -10,109 +10,109 @@
namespace boost { namespace type_of {
template<class V, class Increase_BOOST_TYPEOF_LIMIT_SIZE> struct v_iter;
template<class V> struct v_iter<V, mpl::int_<0> > { typedef typename V::item0 type; typedef v_iter<V, mpl::int_<0 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<1> > { typedef typename V::item1 type; typedef v_iter<V, mpl::int_<1 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<2> > { typedef typename V::item2 type; typedef v_iter<V, mpl::int_<2 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<3> > { typedef typename V::item3 type; typedef v_iter<V, mpl::int_<3 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<4> > { typedef typename V::item4 type; typedef v_iter<V, mpl::int_<4 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<5> > { typedef typename V::item5 type; typedef v_iter<V, mpl::int_<5 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<6> > { typedef typename V::item6 type; typedef v_iter<V, mpl::int_<6 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<7> > { typedef typename V::item7 type; typedef v_iter<V, mpl::int_<7 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<8> > { typedef typename V::item8 type; typedef v_iter<V, mpl::int_<8 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<9> > { typedef typename V::item9 type; typedef v_iter<V, mpl::int_<9 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<10> > { typedef typename V::item10 type; typedef v_iter<V, mpl::int_<10 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<11> > { typedef typename V::item11 type; typedef v_iter<V, mpl::int_<11 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<12> > { typedef typename V::item12 type; typedef v_iter<V, mpl::int_<12 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<13> > { typedef typename V::item13 type; typedef v_iter<V, mpl::int_<13 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<14> > { typedef typename V::item14 type; typedef v_iter<V, mpl::int_<14 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<15> > { typedef typename V::item15 type; typedef v_iter<V, mpl::int_<15 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<16> > { typedef typename V::item16 type; typedef v_iter<V, mpl::int_<16 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<17> > { typedef typename V::item17 type; typedef v_iter<V, mpl::int_<17 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<18> > { typedef typename V::item18 type; typedef v_iter<V, mpl::int_<18 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<19> > { typedef typename V::item19 type; typedef v_iter<V, mpl::int_<19 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<20> > { typedef typename V::item20 type; typedef v_iter<V, mpl::int_<20 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<21> > { typedef typename V::item21 type; typedef v_iter<V, mpl::int_<21 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<22> > { typedef typename V::item22 type; typedef v_iter<V, mpl::int_<22 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<23> > { typedef typename V::item23 type; typedef v_iter<V, mpl::int_<23 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<24> > { typedef typename V::item24 type; typedef v_iter<V, mpl::int_<24 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<25> > { typedef typename V::item25 type; typedef v_iter<V, mpl::int_<25 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<26> > { typedef typename V::item26 type; typedef v_iter<V, mpl::int_<26 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<27> > { typedef typename V::item27 type; typedef v_iter<V, mpl::int_<27 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<28> > { typedef typename V::item28 type; typedef v_iter<V, mpl::int_<28 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<29> > { typedef typename V::item29 type; typedef v_iter<V, mpl::int_<29 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<30> > { typedef typename V::item30 type; typedef v_iter<V, mpl::int_<30 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<31> > { typedef typename V::item31 type; typedef v_iter<V, mpl::int_<31 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<32> > { typedef typename V::item32 type; typedef v_iter<V, mpl::int_<32 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<33> > { typedef typename V::item33 type; typedef v_iter<V, mpl::int_<33 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<34> > { typedef typename V::item34 type; typedef v_iter<V, mpl::int_<34 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<35> > { typedef typename V::item35 type; typedef v_iter<V, mpl::int_<35 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<36> > { typedef typename V::item36 type; typedef v_iter<V, mpl::int_<36 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<37> > { typedef typename V::item37 type; typedef v_iter<V, mpl::int_<37 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<38> > { typedef typename V::item38 type; typedef v_iter<V, mpl::int_<38 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<39> > { typedef typename V::item39 type; typedef v_iter<V, mpl::int_<39 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<40> > { typedef typename V::item40 type; typedef v_iter<V, mpl::int_<40 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<41> > { typedef typename V::item41 type; typedef v_iter<V, mpl::int_<41 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<42> > { typedef typename V::item42 type; typedef v_iter<V, mpl::int_<42 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<43> > { typedef typename V::item43 type; typedef v_iter<V, mpl::int_<43 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<44> > { typedef typename V::item44 type; typedef v_iter<V, mpl::int_<44 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<45> > { typedef typename V::item45 type; typedef v_iter<V, mpl::int_<45 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<46> > { typedef typename V::item46 type; typedef v_iter<V, mpl::int_<46 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<47> > { typedef typename V::item47 type; typedef v_iter<V, mpl::int_<47 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<48> > { typedef typename V::item48 type; typedef v_iter<V, mpl::int_<48 + 1> > next; };
template<class V> struct v_iter<V, mpl::int_<49> > { typedef typename V::item49 type; typedef v_iter<V, mpl::int_<49 + 1> > next; };
template<class V> struct v_iter<V, constant<int,0> > { typedef typename V::item0 type; typedef v_iter<V, constant<int,0 + 1> > next; };
template<class V> struct v_iter<V, constant<int,1> > { typedef typename V::item1 type; typedef v_iter<V, constant<int,1 + 1> > next; };
template<class V> struct v_iter<V, constant<int,2> > { typedef typename V::item2 type; typedef v_iter<V, constant<int,2 + 1> > next; };
template<class V> struct v_iter<V, constant<int,3> > { typedef typename V::item3 type; typedef v_iter<V, constant<int,3 + 1> > next; };
template<class V> struct v_iter<V, constant<int,4> > { typedef typename V::item4 type; typedef v_iter<V, constant<int,4 + 1> > next; };
template<class V> struct v_iter<V, constant<int,5> > { typedef typename V::item5 type; typedef v_iter<V, constant<int,5 + 1> > next; };
template<class V> struct v_iter<V, constant<int,6> > { typedef typename V::item6 type; typedef v_iter<V, constant<int,6 + 1> > next; };
template<class V> struct v_iter<V, constant<int,7> > { typedef typename V::item7 type; typedef v_iter<V, constant<int,7 + 1> > next; };
template<class V> struct v_iter<V, constant<int,8> > { typedef typename V::item8 type; typedef v_iter<V, constant<int,8 + 1> > next; };
template<class V> struct v_iter<V, constant<int,9> > { typedef typename V::item9 type; typedef v_iter<V, constant<int,9 + 1> > next; };
template<class V> struct v_iter<V, constant<int,10> > { typedef typename V::item10 type; typedef v_iter<V, constant<int,10 + 1> > next; };
template<class V> struct v_iter<V, constant<int,11> > { typedef typename V::item11 type; typedef v_iter<V, constant<int,11 + 1> > next; };
template<class V> struct v_iter<V, constant<int,12> > { typedef typename V::item12 type; typedef v_iter<V, constant<int,12 + 1> > next; };
template<class V> struct v_iter<V, constant<int,13> > { typedef typename V::item13 type; typedef v_iter<V, constant<int,13 + 1> > next; };
template<class V> struct v_iter<V, constant<int,14> > { typedef typename V::item14 type; typedef v_iter<V, constant<int,14 + 1> > next; };
template<class V> struct v_iter<V, constant<int,15> > { typedef typename V::item15 type; typedef v_iter<V, constant<int,15 + 1> > next; };
template<class V> struct v_iter<V, constant<int,16> > { typedef typename V::item16 type; typedef v_iter<V, constant<int,16 + 1> > next; };
template<class V> struct v_iter<V, constant<int,17> > { typedef typename V::item17 type; typedef v_iter<V, constant<int,17 + 1> > next; };
template<class V> struct v_iter<V, constant<int,18> > { typedef typename V::item18 type; typedef v_iter<V, constant<int,18 + 1> > next; };
template<class V> struct v_iter<V, constant<int,19> > { typedef typename V::item19 type; typedef v_iter<V, constant<int,19 + 1> > next; };
template<class V> struct v_iter<V, constant<int,20> > { typedef typename V::item20 type; typedef v_iter<V, constant<int,20 + 1> > next; };
template<class V> struct v_iter<V, constant<int,21> > { typedef typename V::item21 type; typedef v_iter<V, constant<int,21 + 1> > next; };
template<class V> struct v_iter<V, constant<int,22> > { typedef typename V::item22 type; typedef v_iter<V, constant<int,22 + 1> > next; };
template<class V> struct v_iter<V, constant<int,23> > { typedef typename V::item23 type; typedef v_iter<V, constant<int,23 + 1> > next; };
template<class V> struct v_iter<V, constant<int,24> > { typedef typename V::item24 type; typedef v_iter<V, constant<int,24 + 1> > next; };
template<class V> struct v_iter<V, constant<int,25> > { typedef typename V::item25 type; typedef v_iter<V, constant<int,25 + 1> > next; };
template<class V> struct v_iter<V, constant<int,26> > { typedef typename V::item26 type; typedef v_iter<V, constant<int,26 + 1> > next; };
template<class V> struct v_iter<V, constant<int,27> > { typedef typename V::item27 type; typedef v_iter<V, constant<int,27 + 1> > next; };
template<class V> struct v_iter<V, constant<int,28> > { typedef typename V::item28 type; typedef v_iter<V, constant<int,28 + 1> > next; };
template<class V> struct v_iter<V, constant<int,29> > { typedef typename V::item29 type; typedef v_iter<V, constant<int,29 + 1> > next; };
template<class V> struct v_iter<V, constant<int,30> > { typedef typename V::item30 type; typedef v_iter<V, constant<int,30 + 1> > next; };
template<class V> struct v_iter<V, constant<int,31> > { typedef typename V::item31 type; typedef v_iter<V, constant<int,31 + 1> > next; };
template<class V> struct v_iter<V, constant<int,32> > { typedef typename V::item32 type; typedef v_iter<V, constant<int,32 + 1> > next; };
template<class V> struct v_iter<V, constant<int,33> > { typedef typename V::item33 type; typedef v_iter<V, constant<int,33 + 1> > next; };
template<class V> struct v_iter<V, constant<int,34> > { typedef typename V::item34 type; typedef v_iter<V, constant<int,34 + 1> > next; };
template<class V> struct v_iter<V, constant<int,35> > { typedef typename V::item35 type; typedef v_iter<V, constant<int,35 + 1> > next; };
template<class V> struct v_iter<V, constant<int,36> > { typedef typename V::item36 type; typedef v_iter<V, constant<int,36 + 1> > next; };
template<class V> struct v_iter<V, constant<int,37> > { typedef typename V::item37 type; typedef v_iter<V, constant<int,37 + 1> > next; };
template<class V> struct v_iter<V, constant<int,38> > { typedef typename V::item38 type; typedef v_iter<V, constant<int,38 + 1> > next; };
template<class V> struct v_iter<V, constant<int,39> > { typedef typename V::item39 type; typedef v_iter<V, constant<int,39 + 1> > next; };
template<class V> struct v_iter<V, constant<int,40> > { typedef typename V::item40 type; typedef v_iter<V, constant<int,40 + 1> > next; };
template<class V> struct v_iter<V, constant<int,41> > { typedef typename V::item41 type; typedef v_iter<V, constant<int,41 + 1> > next; };
template<class V> struct v_iter<V, constant<int,42> > { typedef typename V::item42 type; typedef v_iter<V, constant<int,42 + 1> > next; };
template<class V> struct v_iter<V, constant<int,43> > { typedef typename V::item43 type; typedef v_iter<V, constant<int,43 + 1> > next; };
template<class V> struct v_iter<V, constant<int,44> > { typedef typename V::item44 type; typedef v_iter<V, constant<int,44 + 1> > next; };
template<class V> struct v_iter<V, constant<int,45> > { typedef typename V::item45 type; typedef v_iter<V, constant<int,45 + 1> > next; };
template<class V> struct v_iter<V, constant<int,46> > { typedef typename V::item46 type; typedef v_iter<V, constant<int,46 + 1> > next; };
template<class V> struct v_iter<V, constant<int,47> > { typedef typename V::item47 type; typedef v_iter<V, constant<int,47 + 1> > next; };
template<class V> struct v_iter<V, constant<int,48> > { typedef typename V::item48 type; typedef v_iter<V, constant<int,48 + 1> > next; };
template<class V> struct v_iter<V, constant<int,49> > { typedef typename V::item49 type; typedef v_iter<V, constant<int,49 + 1> > next; };
}}
namespace boost { namespace type_of {
template< class T = void> struct vector0 { typedef v_iter<vector0<>, boost::mpl::int_<0> > begin; typedef mpl::int_<1> item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 > struct vector1 { typedef v_iter<vector1< P0>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef mpl::int_<1> item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 > struct vector2 { typedef v_iter<vector2< P0 , P1>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef mpl::int_<1> item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 > struct vector3 { typedef v_iter<vector3< P0 , P1 , P2>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef mpl::int_<1> item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 > struct vector4 { typedef v_iter<vector4< P0 , P1 , P2 , P3>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef mpl::int_<1> item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 > struct vector5 { typedef v_iter<vector5< P0 , P1 , P2 , P3 , P4>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef mpl::int_<1> item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 > struct vector6 { typedef v_iter<vector6< P0 , P1 , P2 , P3 , P4 , P5>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef mpl::int_<1> item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > struct vector7 { typedef v_iter<vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef mpl::int_<1> item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > struct vector8 { typedef v_iter<vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef mpl::int_<1> item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > struct vector9 { typedef v_iter<vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef mpl::int_<1> item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 > struct vector10 { typedef v_iter<vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef mpl::int_<1> item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 > struct vector11 { typedef v_iter<vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef mpl::int_<1> item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 > struct vector12 { typedef v_iter<vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef mpl::int_<1> item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 > struct vector13 { typedef v_iter<vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef mpl::int_<1> item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 > struct vector14 { typedef v_iter<vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef mpl::int_<1> item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 > struct vector15 { typedef v_iter<vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef mpl::int_<1> item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 > struct vector16 { typedef v_iter<vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef mpl::int_<1> item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 > struct vector17 { typedef v_iter<vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef mpl::int_<1> item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 > struct vector18 { typedef v_iter<vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef mpl::int_<1> item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 > struct vector19 { typedef v_iter<vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef mpl::int_<1> item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 > struct vector20 { typedef v_iter<vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef mpl::int_<1> item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 > struct vector21 { typedef v_iter<vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef mpl::int_<1> item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 > struct vector22 { typedef v_iter<vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef mpl::int_<1> item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 > struct vector23 { typedef v_iter<vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef mpl::int_<1> item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 > struct vector24 { typedef v_iter<vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef mpl::int_<1> item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 > struct vector25 { typedef v_iter<vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef mpl::int_<1> item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 > struct vector26 { typedef v_iter<vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef mpl::int_<1> item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 > struct vector27 { typedef v_iter<vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef mpl::int_<1> item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 > struct vector28 { typedef v_iter<vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef mpl::int_<1> item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 > struct vector29 { typedef v_iter<vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef mpl::int_<1> item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 > struct vector30 { typedef v_iter<vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef mpl::int_<1> item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 > struct vector31 { typedef v_iter<vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef mpl::int_<1> item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 > struct vector32 { typedef v_iter<vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef mpl::int_<1> item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 > struct vector33 { typedef v_iter<vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef mpl::int_<1> item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 > struct vector34 { typedef v_iter<vector34< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef mpl::int_<1> item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 > struct vector35 { typedef v_iter<vector35< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef mpl::int_<1> item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 > struct vector36 { typedef v_iter<vector36< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef mpl::int_<1> item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 > struct vector37 { typedef v_iter<vector37< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef mpl::int_<1> item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 > struct vector38 { typedef v_iter<vector38< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef mpl::int_<1> item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 > struct vector39 { typedef v_iter<vector39< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef mpl::int_<1> item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 > struct vector40 { typedef v_iter<vector40< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef mpl::int_<1> item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 > struct vector41 { typedef v_iter<vector41< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef mpl::int_<1> item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 > struct vector42 { typedef v_iter<vector42< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef mpl::int_<1> item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 > struct vector43 { typedef v_iter<vector43< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef mpl::int_<1> item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 > struct vector44 { typedef v_iter<vector44< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef mpl::int_<1> item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 , class P44 > struct vector45 { typedef v_iter<vector45< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43 , P44>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef P44 item44; typedef mpl::int_<1> item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 , class P44 , class P45 > struct vector46 { typedef v_iter<vector46< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43 , P44 , P45>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef P44 item44; typedef P45 item45; typedef mpl::int_<1> item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 , class P44 , class P45 , class P46 > struct vector47 { typedef v_iter<vector47< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43 , P44 , P45 , P46>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef P44 item44; typedef P45 item45; typedef P46 item46; typedef mpl::int_<1> item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 , class P44 , class P45 , class P46 , class P47 > struct vector48 { typedef v_iter<vector48< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43 , P44 , P45 , P46 , P47>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef P44 item44; typedef P45 item45; typedef P46 item46; typedef P47 item47; typedef mpl::int_<1> item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 , class P44 , class P45 , class P46 , class P47 , class P48 > struct vector49 { typedef v_iter<vector49< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43 , P44 , P45 , P46 , P47 , P48>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef P44 item44; typedef P45 item45; typedef P46 item46; typedef P47 item47; typedef P48 item48; typedef mpl::int_<1> item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 , class P44 , class P45 , class P46 , class P47 , class P48 , class P49 > struct vector50 { typedef v_iter<vector50< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43 , P44 , P45 , P46 , P47 , P48 , P49>, boost::mpl::int_<0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef P44 item44; typedef P45 item45; typedef P46 item46; typedef P47 item47; typedef P48 item48; typedef P49 item49; typedef mpl::int_<1> item50; typedef mpl::int_<1> item51; typedef mpl::int_<1> item52; typedef mpl::int_<1> item53; typedef mpl::int_<1> item54; typedef mpl::int_<1> item55; typedef mpl::int_<1> item56; typedef mpl::int_<1> item57; typedef mpl::int_<1> item58; typedef mpl::int_<1> item59; typedef mpl::int_<1> item60; typedef mpl::int_<1> item61; typedef mpl::int_<1> item62; typedef mpl::int_<1> item63; typedef mpl::int_<1> item64; typedef mpl::int_<1> item65; typedef mpl::int_<1> item66; typedef mpl::int_<1> item67; typedef mpl::int_<1> item68; typedef mpl::int_<1> item69; typedef mpl::int_<1> item70; typedef mpl::int_<1> item71; typedef mpl::int_<1> item72; typedef mpl::int_<1> item73; typedef mpl::int_<1> item74; typedef mpl::int_<1> item75; typedef mpl::int_<1> item76; typedef mpl::int_<1> item77; typedef mpl::int_<1> item78; typedef mpl::int_<1> item79; typedef mpl::int_<1> item80; typedef mpl::int_<1> item81; typedef mpl::int_<1> item82; typedef mpl::int_<1> item83; typedef mpl::int_<1> item84; typedef mpl::int_<1> item85; typedef mpl::int_<1> item86; typedef mpl::int_<1> item87; typedef mpl::int_<1> item88; typedef mpl::int_<1> item89; typedef mpl::int_<1> item90; typedef mpl::int_<1> item91; typedef mpl::int_<1> item92; typedef mpl::int_<1> item93; typedef mpl::int_<1> item94; typedef mpl::int_<1> item95; typedef mpl::int_<1> item96; typedef mpl::int_<1> item97; typedef mpl::int_<1> item98; typedef mpl::int_<1> item99; };
template< class T = void> struct vector0 { typedef v_iter<vector0<>, boost::type_of::constant<int,0> > begin; typedef constant<int,1> item0; typedef constant<int,1> item1; typedef constant<int,1> item2; typedef constant<int,1> item3; typedef constant<int,1> item4; typedef constant<int,1> item5; typedef constant<int,1> item6; typedef constant<int,1> item7; typedef constant<int,1> item8; typedef constant<int,1> item9; typedef constant<int,1> item10; typedef constant<int,1> item11; typedef constant<int,1> item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 > struct vector1 { typedef v_iter<vector1< P0>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef constant<int,1> item1; typedef constant<int,1> item2; typedef constant<int,1> item3; typedef constant<int,1> item4; typedef constant<int,1> item5; typedef constant<int,1> item6; typedef constant<int,1> item7; typedef constant<int,1> item8; typedef constant<int,1> item9; typedef constant<int,1> item10; typedef constant<int,1> item11; typedef constant<int,1> item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 > struct vector2 { typedef v_iter<vector2< P0 , P1>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef constant<int,1> item2; typedef constant<int,1> item3; typedef constant<int,1> item4; typedef constant<int,1> item5; typedef constant<int,1> item6; typedef constant<int,1> item7; typedef constant<int,1> item8; typedef constant<int,1> item9; typedef constant<int,1> item10; typedef constant<int,1> item11; typedef constant<int,1> item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 > struct vector3 { typedef v_iter<vector3< P0 , P1 , P2>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef constant<int,1> item3; typedef constant<int,1> item4; typedef constant<int,1> item5; typedef constant<int,1> item6; typedef constant<int,1> item7; typedef constant<int,1> item8; typedef constant<int,1> item9; typedef constant<int,1> item10; typedef constant<int,1> item11; typedef constant<int,1> item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 > struct vector4 { typedef v_iter<vector4< P0 , P1 , P2 , P3>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef constant<int,1> item4; typedef constant<int,1> item5; typedef constant<int,1> item6; typedef constant<int,1> item7; typedef constant<int,1> item8; typedef constant<int,1> item9; typedef constant<int,1> item10; typedef constant<int,1> item11; typedef constant<int,1> item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 > struct vector5 { typedef v_iter<vector5< P0 , P1 , P2 , P3 , P4>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef constant<int,1> item5; typedef constant<int,1> item6; typedef constant<int,1> item7; typedef constant<int,1> item8; typedef constant<int,1> item9; typedef constant<int,1> item10; typedef constant<int,1> item11; typedef constant<int,1> item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 > struct vector6 { typedef v_iter<vector6< P0 , P1 , P2 , P3 , P4 , P5>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef constant<int,1> item6; typedef constant<int,1> item7; typedef constant<int,1> item8; typedef constant<int,1> item9; typedef constant<int,1> item10; typedef constant<int,1> item11; typedef constant<int,1> item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > struct vector7 { typedef v_iter<vector7< P0 , P1 , P2 , P3 , P4 , P5 , P6>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef constant<int,1> item7; typedef constant<int,1> item8; typedef constant<int,1> item9; typedef constant<int,1> item10; typedef constant<int,1> item11; typedef constant<int,1> item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > struct vector8 { typedef v_iter<vector8< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef constant<int,1> item8; typedef constant<int,1> item9; typedef constant<int,1> item10; typedef constant<int,1> item11; typedef constant<int,1> item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > struct vector9 { typedef v_iter<vector9< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef constant<int,1> item9; typedef constant<int,1> item10; typedef constant<int,1> item11; typedef constant<int,1> item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 > struct vector10 { typedef v_iter<vector10< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef constant<int,1> item10; typedef constant<int,1> item11; typedef constant<int,1> item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 > struct vector11 { typedef v_iter<vector11< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef constant<int,1> item11; typedef constant<int,1> item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 > struct vector12 { typedef v_iter<vector12< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef constant<int,1> item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 > struct vector13 { typedef v_iter<vector13< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef constant<int,1> item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 > struct vector14 { typedef v_iter<vector14< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef constant<int,1> item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 > struct vector15 { typedef v_iter<vector15< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef constant<int,1> item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 > struct vector16 { typedef v_iter<vector16< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef constant<int,1> item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 > struct vector17 { typedef v_iter<vector17< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef constant<int,1> item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 > struct vector18 { typedef v_iter<vector18< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef constant<int,1> item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 > struct vector19 { typedef v_iter<vector19< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef constant<int,1> item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 > struct vector20 { typedef v_iter<vector20< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef constant<int,1> item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 > struct vector21 { typedef v_iter<vector21< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef constant<int,1> item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 > struct vector22 { typedef v_iter<vector22< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef constant<int,1> item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 > struct vector23 { typedef v_iter<vector23< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef constant<int,1> item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 > struct vector24 { typedef v_iter<vector24< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef constant<int,1> item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 > struct vector25 { typedef v_iter<vector25< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef constant<int,1> item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 > struct vector26 { typedef v_iter<vector26< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef constant<int,1> item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 > struct vector27 { typedef v_iter<vector27< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef constant<int,1> item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 > struct vector28 { typedef v_iter<vector28< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef constant<int,1> item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 > struct vector29 { typedef v_iter<vector29< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef constant<int,1> item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 > struct vector30 { typedef v_iter<vector30< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef constant<int,1> item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 > struct vector31 { typedef v_iter<vector31< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef constant<int,1> item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 > struct vector32 { typedef v_iter<vector32< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef constant<int,1> item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 > struct vector33 { typedef v_iter<vector33< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef constant<int,1> item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 > struct vector34 { typedef v_iter<vector34< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef constant<int,1> item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 > struct vector35 { typedef v_iter<vector35< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef constant<int,1> item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 > struct vector36 { typedef v_iter<vector36< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef constant<int,1> item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 > struct vector37 { typedef v_iter<vector37< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef constant<int,1> item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 > struct vector38 { typedef v_iter<vector38< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef constant<int,1> item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 > struct vector39 { typedef v_iter<vector39< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef constant<int,1> item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 > struct vector40 { typedef v_iter<vector40< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef constant<int,1> item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 > struct vector41 { typedef v_iter<vector41< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef constant<int,1> item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 > struct vector42 { typedef v_iter<vector42< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef constant<int,1> item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 > struct vector43 { typedef v_iter<vector43< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef constant<int,1> item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 > struct vector44 { typedef v_iter<vector44< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef constant<int,1> item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 , class P44 > struct vector45 { typedef v_iter<vector45< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43 , P44>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef P44 item44; typedef constant<int,1> item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 , class P44 , class P45 > struct vector46 { typedef v_iter<vector46< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43 , P44 , P45>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef P44 item44; typedef P45 item45; typedef constant<int,1> item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 , class P44 , class P45 , class P46 > struct vector47 { typedef v_iter<vector47< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43 , P44 , P45 , P46>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef P44 item44; typedef P45 item45; typedef P46 item46; typedef constant<int,1> item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 , class P44 , class P45 , class P46 , class P47 > struct vector48 { typedef v_iter<vector48< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43 , P44 , P45 , P46 , P47>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef P44 item44; typedef P45 item45; typedef P46 item46; typedef P47 item47; typedef constant<int,1> item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 , class P44 , class P45 , class P46 , class P47 , class P48 > struct vector49 { typedef v_iter<vector49< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43 , P44 , P45 , P46 , P47 , P48>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef P44 item44; typedef P45 item45; typedef P46 item46; typedef P47 item47; typedef P48 item48; typedef constant<int,1> item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
template< class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class P10 , class P11 , class P12 , class P13 , class P14 , class P15 , class P16 , class P17 , class P18 , class P19 , class P20 , class P21 , class P22 , class P23 , class P24 , class P25 , class P26 , class P27 , class P28 , class P29 , class P30 , class P31 , class P32 , class P33 , class P34 , class P35 , class P36 , class P37 , class P38 , class P39 , class P40 , class P41 , class P42 , class P43 , class P44 , class P45 , class P46 , class P47 , class P48 , class P49 > struct vector50 { typedef v_iter<vector50< P0 , P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9 , P10 , P11 , P12 , P13 , P14 , P15 , P16 , P17 , P18 , P19 , P20 , P21 , P22 , P23 , P24 , P25 , P26 , P27 , P28 , P29 , P30 , P31 , P32 , P33 , P34 , P35 , P36 , P37 , P38 , P39 , P40 , P41 , P42 , P43 , P44 , P45 , P46 , P47 , P48 , P49>, boost::type_of::constant<int,0> > begin; typedef P0 item0; typedef P1 item1; typedef P2 item2; typedef P3 item3; typedef P4 item4; typedef P5 item5; typedef P6 item6; typedef P7 item7; typedef P8 item8; typedef P9 item9; typedef P10 item10; typedef P11 item11; typedef P12 item12; typedef P13 item13; typedef P14 item14; typedef P15 item15; typedef P16 item16; typedef P17 item17; typedef P18 item18; typedef P19 item19; typedef P20 item20; typedef P21 item21; typedef P22 item22; typedef P23 item23; typedef P24 item24; typedef P25 item25; typedef P26 item26; typedef P27 item27; typedef P28 item28; typedef P29 item29; typedef P30 item30; typedef P31 item31; typedef P32 item32; typedef P33 item33; typedef P34 item34; typedef P35 item35; typedef P36 item36; typedef P37 item37; typedef P38 item38; typedef P39 item39; typedef P40 item40; typedef P41 item41; typedef P42 item42; typedef P43 item43; typedef P44 item44; typedef P45 item45; typedef P46 item46; typedef P47 item47; typedef P48 item48; typedef P49 item49; typedef constant<int,1> item50; typedef constant<int,1> item51; typedef constant<int,1> item52; typedef constant<int,1> item53; typedef constant<int,1> item54; typedef constant<int,1> item55; typedef constant<int,1> item56; typedef constant<int,1> item57; typedef constant<int,1> item58; typedef constant<int,1> item59; typedef constant<int,1> item60; typedef constant<int,1> item61; typedef constant<int,1> item62; typedef constant<int,1> item63; typedef constant<int,1> item64; typedef constant<int,1> item65; typedef constant<int,1> item66; typedef constant<int,1> item67; typedef constant<int,1> item68; typedef constant<int,1> item69; typedef constant<int,1> item70; typedef constant<int,1> item71; typedef constant<int,1> item72; typedef constant<int,1> item73; typedef constant<int,1> item74; typedef constant<int,1> item75; typedef constant<int,1> item76; typedef constant<int,1> item77; typedef constant<int,1> item78; typedef constant<int,1> item79; typedef constant<int,1> item80; typedef constant<int,1> item81; typedef constant<int,1> item82; typedef constant<int,1> item83; typedef constant<int,1> item84; typedef constant<int,1> item85; typedef constant<int,1> item86; typedef constant<int,1> item87; typedef constant<int,1> item88; typedef constant<int,1> item89; typedef constant<int,1> item90; typedef constant<int,1> item91; typedef constant<int,1> item92; typedef constant<int,1> item93; typedef constant<int,1> item94; typedef constant<int,1> item95; typedef constant<int,1> item96; typedef constant<int,1> item97; typedef constant<int,1> item98; typedef constant<int,1> item99; };
}}
namespace boost { namespace type_of {
template<class V, class T> struct push_back {

16
meta/libraries.json Normal file
View File

@ -0,0 +1,16 @@
{
"key": "typeof",
"name": "Typeof",
"authors": [
"Arkadiy Vertleyb",
"Peder Holt"
],
"description": "Typeof operator emulation.",
"category": [
"Emulation"
],
"maintainers": [
"Arkadiy Vertleyb <vertleyb -at- hotmail.com>",
"Peder Holt <peder.holt -at- gmail.com>"
]
}

View File

@ -5,6 +5,7 @@
# Boost Typeof Library test Jamfile
import testing ;
import set ;
# The special requirement is not ported yet.

View File

@ -0,0 +1,74 @@
// Copyright (C) 2018 Tobias Loew
// Use, modification and distribution is subject to the Boost Software
// License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt)
#include <boost/config.hpp>
#include <boost/config/pragma_message.hpp>
#if defined(BOOST_NO_CXX11_LAMBDAS)
BOOST_PRAGMA_MESSAGE("Skipping test due to BOOST_NO_CXX11_LAMBDAS")
int main() {}
#elif defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)
BOOST_PRAGMA_MESSAGE("Skipping test due to BOOST_NO_CXX11_AUTO_DECLARATIONS")
int main() {}
#else
#include <boost/typeof/typeof.hpp>
#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
namespace detail {
template<class T> inline T& deref(T& r) {
return r;
}
template<class T>
struct wrapper {
typedef T type;
};
template<class T> wrapper<T> wrap(T&);
};
BOOST_TYPEOF_REGISTER_TEMPLATE(::detail::wrapper, 1)
void test_typeof_in_lambda() {
// Visual Studio 2015 (BOOST_MSVC == 1900) had an internal compiler error with Boost 1.65 and 1.66 when using BOOST_SCOPE_EXIT inside a lambda
// the error was due to a change of include in boost/typeof/typeof.hpp (<boost/typeof/decltype.hpp> instead of <boost/typeof/native.hpp>)
// This test is an more or less minimal extract from the BOOST_SCOPE_EXIT macro expansions
// worked also with VS 2015 in version 1.65/1.66
int n;
typedef BOOST_TYPEOF(::detail::wrap(::detail::deref(n))) n_type_wrapped;
typedef n_type_wrapped::type n_type;
int test;
auto check_property = [&n,&test]() {
// internal compiler error with VS 2015 in version 1.65/1.66
// minimal extract from
//BOOST_SCOPE_EXIT(test) {
// test = 42;
//}BOOST_SCOPE_EXIT_END
// this compiles always (as long as the one before outside the lambda has the same name)
typedef BOOST_TYPEOF(::detail::wrap(::detail::deref(n))) n_type_wrapped;
typedef n_type_wrapped::type n_type;
// this fails with internal compiler error with VS 2015 in version 1.65/1.66
typedef BOOST_TYPEOF(::detail::wrap(::detail::deref(test))) test_type_wrapped;
typedef test_type_wrapped::type test_type;
};
}
int main() {
test_typeof_in_lambda();
return 0;
}
#endif

View File

@ -42,8 +42,10 @@ BOOST_STATIC_ASSERT(boost::type_of::test<bitset<10> >::value);
// function objects
#ifndef BOOST_NO_CXX98_FUNCTION_BASE
BOOST_STATIC_ASSERT((boost::type_of::test<unary_function<int, int> >::value));
BOOST_STATIC_ASSERT((boost::type_of::test<binary_function<int, int, int> >::value));
#endif//BOOST_NO_CXX98_FUNCTION_BASE
BOOST_STATIC_ASSERT(boost::type_of::test<plus<int> >::value);
BOOST_STATIC_ASSERT(boost::type_of::test<minus<int> >::value);
BOOST_STATIC_ASSERT(boost::type_of::test<multiplies<int> >::value);
@ -61,8 +63,10 @@ BOOST_STATIC_ASSERT(boost::type_of::test<logical_or<int> >::value);
BOOST_STATIC_ASSERT(boost::type_of::test<logical_not<int> >::value);
BOOST_STATIC_ASSERT(boost::type_of::test<unary_negate<negate<int> > >::value);
BOOST_STATIC_ASSERT(boost::type_of::test<binary_negate<less<int> > >::value);
#ifndef BOOST_NO_CXX98_BINDERS
BOOST_STATIC_ASSERT(boost::type_of::test<binder1st<less<int> > >::value);
BOOST_STATIC_ASSERT(boost::type_of::test<binder2nd<less<int> > >::value);
#endif//BOOST_NO_CXX98_BINDERS
// valarray

View File

@ -8,7 +8,6 @@
#include <boost/typeof/typeof.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/static_assert.hpp>
#include <boost/mpl/size_t.hpp>
namespace boost { namespace type_of {